Load Characteristic Allowed Values with a BAPI

Jimbo's picture

Load Characteristic Values with a BAPISAP's CT04 transaction has grid controls that cannot be accessed using a recording in LSMW. A CT04-based recording would make quick work of populating the allowed values--even hierarchical values--available to users of the Characteristic, but that isn't an option.

That doesn't mean that the allowed values cannot be populated using LSMW, but it does make it a little more cumbersome. Previously, the task of using LSMW as a wrapper for BAPIs was explained as a demonstration of creating Classifications in a system where a customization had rendered CL02 unusable and it will serve well here to call the BAPI_CHARACT_CHANGE function.

The first step is to define all the fields and internal tables required to call the BAPI. Some are labeled as optional in the interface, but cause catastrophic problems when not populated; those will be covered in more detail later.

parameters: p_commit as checkbox, p_break as checkbox.
data: lCABN like CABN, lCAWN like CAWN, lCAWNT like CAWNT,
 it_DESC type standard table of BAPICHARACTVALUESDESCR initial size 0,
 wa_DESC type BAPICHARACTVALUESDESCR,
 it_Value type standard table of BAPICHARACTVALUESCHAR initial size 0,
 wa_Value type BAPICHARACTVALUESCHAR,
 return type standard table of BAPIRET2 initial size 0,
 returns type standard table of BAPIRET2 initial size 0,
 wa_return type BAPIRET2,
 it_cdn type standard table of BAPICHARACTDETAIL initial size 0,
 wa_cdn type BAPICHARACTDETAIL,
 it_chardesc type standard table of BAPICHARACTDESCR initial size 0.

Load Characteristic Values with a BAPIThe BAPICHARACTDESCR table contains the descriptions of the Characteristic in each desired language. If this optional table is omitted then all of the existing descriptions are overwritten by nothing and the description on the initial screen of CT04 will be blank.

The non-optional BAPICHARACTDETAIL is an internal table that contains a single record (instead of simply being a flat structure) and must be populated in order for the BAPI_CHARACT_CHANGE function to do anything. If left blank, the function simply does nothing and throws no error.

The BAPICHARACTDETAIL and CHARACTDESCR tables are populated by the BAPI_CHARACT_GETDETAIL function. These internal tables are passed to the BAPI_CHARACT_CHANGE unchanged at the END_OF_PROCESSING step after all the source data is read into the system.

In the BEGIN_OF_TRANSACTION section, this code is added to call the GETDETAIL BAPI and to populate the it_Value and it_Desc internal tables. These will be passed to the BAPI function at the end.

Additionally, a small snippet of code is called to ensure that the Characteristic actually exists. Finally, the SKIP_TRANSACTION command ensures that the LSMW object does not create any transactions; all the work will be performed in the BAPI function.

condense: CT04S-ATNAM, CT04S-ATWRT, CT04S-ATWRTH.

translate CT04S-ATNAM to UPPER CASE.
CALL FUNCTION 'BAPI_CHARACT_GETDETAIL'
  EXPORTING
    charactname               = CT04S-ATNAM
*   KEYDATE                   = SY-DATUM
*   LANGUAGE                  =
  IMPORTING
    CHARACTDETAIL             = wa_cdn
  TABLES
    CHARACTDESCR              = it_chardesc
    return                    = return.
refresh it_cdn.
append wa_cdn to it_cdn.

select single * from CABN into lCABN where ATNAM eq CT04S-ATNAM.
if sy-subrc ne 0.
  write: / CT04S-ATNAM, 'Invalid characteristic.'.
else.
    wa_Value-VALUE_CHAR = CT04S-ATWRT.
    wa_Value-VALUE_CHAR_HIGH = CT04S-ATWRTH.
    append wa_Value to it_Value.
    wa_Desc-LANGUAGE_ISO = 'EN'.
    wa_Desc-VALUE_CHAR = CT04S-ATWRT.
    wa_Desc-Description = CT04S-Description.
    append wa_Desc to it_Desc.
endif.

skip_transaction. "Don't make any transactions.

Finally, this bit of code in the END_OF_PROCESSING section takes all of the tables and passes them to the BAPI function for processing. If the p_Commit parameter has been ticked then the BAPI_TRANSACTION_COMMIT commits the processed data to the system; otherwise, the BAPI does no commit and the whole thing is considered a dry run.

call function 'BAPI_CHARACT_CHANGE'
     exporting CHARACTNAME          = CT04S-ATNAM
    TABLES
     CHARACTDESCRNEW       = it_CharDesc
     CHARACTDETAILNEW      = it_CDN  "No changes, but required.
     CHARACTVALUESCHARNEW  = it_Value
     CHARACTVALUESDESCRNEW = it_DESC
               RETURN      = return.
loop at return into wa_return.
  wa_return-Message_v2 = CT04S-ATNAM.
  wa_return-Message_v3 = CT04S-ATWRT.
  wa_return-Message_v4 = CT04S-ATWRTH.
  append wa_return to returns.
endloop.
if p_commit eq 'X'.
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      wait = 'X'.
endif.

* Very simple reporting; data assumed to be 
* clean export from another system.
loop at returns into wa_return.
  write: / wa_return-Message_v2, wa_return-Message_v3,
           wa_return-Message_v4,
           wa_return-message.
endloop.

For this LSMW object, a Standard Batch/Direct Input object was used for simplicity; it requires no logical file and is terrible simple. Additionally, it was written, tested and migrated to the production system from the development system on the cutover weekend when a traditional report would have taken days or weeks to migrate.

This code can absolutely be used in a traditional ABAP report. It is only presented here as an LSMW object as that is the theme of this site.

Load Characteristic Values with a BAPICaution

The BAPI_CHARACT_CHANGE function effectively replaces all existing allowed values with the new ones being loaded--presumably an extract from another system. Should the need to use the function to add allowed values to existing ones, then the BAPI_CHARACT_GETDETAIL function should be used to load up the CHARACTVALUESCHARNEW and CHARACTVALUESDESCRNEW internal tables before appending the new allowed values.

As always, any new code should be tested in a Quality Assurance system long before it is migrated to a Production system. Making a backup of the existing allowed values from the CAWN and CAWNT tables will not hurt.

Load Characteristic Values with a BAPIDownload the LSMW object here

The whole LSMW object can be downloaded here. Just cut and paste it into a text file and then import that file as an LSMW Project.

Be sure to import the LSMW object in its own LSMW Project and then move it to an existing Project. That is much easier than trying to restore from backups after trying to import directly into an existing LSMW Project.


[Legacy System Migration Workbench]
LSMW Version Number : 4.0.0
LSMW Version Date : 08/31/2004
R/3 Installation Number : 0020858171
R/3 System Id : QM0
R/3 Release : 731
R/3 Client : 100
R/3 Operating System : Windows NT
R/3 Database System : MSSQL
R/3 Hostname : jimsapqm0
User Id : JKAUFMANN
Date : 05/29/2016
Time : 19:11:30
Local Date : 05/29/2016
Local Time : 19:11:30
Local Timezone : CET

[Project Information]
[Project Name     ] : SAPLSMW
[Project Text     ] : SAPLSMW.com projects

/SAPDMC/LSGPRO                SAPLSMW        JKAUFMANN   20160529
/SAPDMC/LSGPROT               ESAPLSMW        SAPLSMW.com projects

[Subproject Information]
[Subproject       ] : MD
[Subproject Text  ] : Master Data

/SAPDMC/LSGSUB                SAPLSMW        MD             JKAUFMANN   20160529
/SAPDMC/LSGSUBT               ESAPLSMW        MD             Master Data

[Object Information]
[Object           ] : CHAR_VALUES
[Object Text      ] : Upload characteristic values with BAPI.

/SAPDMC/LSOTXT                ESAPLSMW        MD             CHAR_VALUES    Upload characteristic values with BAPI.
/SAPDMC/LSOATT                SAPLSMW        MD             CHAR_VALUES    0100010001                                                                                                                                    00000000JKAUFMANN   X JKAUFMANN   20160529
/SAPDMC/LSOSTR                SAPLSMW        MD             CHAR_VALUES    CT04S                         Source                                                                                    000101 00000000000000000000
/SAPDMC/LSOFLD                SAPLSMW        MD             CHAR_VALUES    CT04S                         ATNAM                         0001C   030
/SAPDMC/LSOFLD                SAPLSMW        MD             CHAR_VALUES    CT04S                         ATWRT                         0002C   030                                                                                          X
/SAPDMC/LSOFLD                SAPLSMW        MD             CHAR_VALUES    CT04S                         ATWRTH                        0004C   030
/SAPDMC/LSOFLD                SAPLSMW        MD             CHAR_VALUES    CT04S                         DESCRIPTION                   0003C   030
/SAPDMC/LSOREL                SAPLSMW        MD             CHAR_VALUES    0001/SAPDMC/LTXTH                 CT04S                         20160529JKAUFMANN
/SAPDMC/LSOREL                SAPLSMW        MD             CHAR_VALUES    0002/SAPDMC/LTXTL                 CT04S                         20160529JKAUFMANN
/SAPDMC/LSORUL                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_PROCESSING__                                     ACJKAUFMANN   20160529                                                                                                                        00000000
/SAPDMC/LSORUL                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    ACJKAUFMANN   20160529                                                                                                                        00000000
/SAPDMC/LSORUL                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       ACJKAUFMANN   20160529                                                                                                                        00000000
/SAPDMC/LSORUL                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_TRANSACTION__                                      DFJKAUFMANN   20160529                                                                                                                        00000000
/SAPDMC/LSORUL                SAPLSMW        MD             CHAR_VALUES    0000__GLOBAL_DATA__                                             ACJKAUFMANN   20160529                                                                                                                        00000000
/SAPDMC/LSORUL                SAPLSMW        MD             CHAR_VALUES    0001/SAPDMC/LTXTH                 STYPE                         DFJKAUFMANN   20160529                                                                                                                        00000000
/SAPDMC/LSORUL                SAPLSMW        MD             CHAR_VALUES    0001/SAPDMC/LTXTH                 __BEGIN_OF_RECORD__           DFJKAUFMANN   20160529                                                                                                                        00000000
/SAPDMC/LSORUL                SAPLSMW        MD             CHAR_VALUES    0001/SAPDMC/LTXTH                 __END_OF_RECORD__             DFJKAUFMANN   20160529                                                                                                                        00000000
/SAPDMC/LSORUL                SAPLSMW        MD             CHAR_VALUES    0002/SAPDMC/LTXTL                 STYPE                         DFJKAUFMANN   20160529                                                                                                                        00000000
/SAPDMC/LSORUL                SAPLSMW        MD             CHAR_VALUES    0002/SAPDMC/LTXTL                 __BEGIN_OF_RECORD__           DFJKAUFMANN   20160529                                                                                                                        00000000
/SAPDMC/LSORUL                SAPLSMW        MD             CHAR_VALUES    0002/SAPDMC/LTXTL                 __END_OF_RECORD__             DFJKAUFMANN   20160529                                                                                                                        00000000
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_PROCESSING__                                     0001if p_break eq 'X'. break-point. endif.                                  JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_PROCESSING__                                     0002                                                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0001condense: CT04S-ATNAM, CT04S-ATWRT, CT04S-ATWRTH.                       JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0002                                                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0003translate CT04S-ATNAM to UPPER CASE.                                    JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0004CALL FUNCTION 'BAPI_CHARACT_GETDETAIL'                                  JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0005  EXPORTING                                                             JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0006    charactname               = CT04S-ATNAM                             JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0007*   KEYDATE                   = SY-DATUM                                JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0008*   LANGUAGE                  =                                         JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0009  IMPORTING                                                             JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0010    CHARACTDETAIL             = wa_cdn                                  JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0011  TABLES                                                                JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0012    CHARACTDESCR              = it_chardesc                             JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0013    return                    = return.                                 JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0014refresh it_cdn.                                                         JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0015append wa_cdn to it_cdn.                                                JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0016                                                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0017select single * from CABN into lCABN where ATNAM eq CT04S-ATNAM.        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0018if sy-subrc ne 0.                                                       JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0019  write: / CT04S-ATNAM, 'Invalid characteristic.'.                      JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0020else.                                                                   JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0021    wa_Value-VALUE_CHAR = CT04S-ATWRT.                                  JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0022    wa_Value-VALUE_CHAR_HIGH = CT04S-ATWRTH.                            JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0023    append wa_Value to it_Value.                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0024    wa_Desc-LANGUAGE_ISO = 'EN'.                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0025    wa_Desc-VALUE_CHAR = CT04S-ATWRT.                                   JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0026    wa_Desc-Description = CT04S-Description.                            JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0027    append wa_Desc to it_Desc.                                          JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0028endif.                                                                  JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0029                                                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0030                                                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0031                                                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0032                                                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0033                                                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0034                                                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0035                                                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0036                                                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0037                                                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0038                                                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0039                                                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0040                                                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0041                                                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0042                                                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0043                                                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0044                                                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0045                                                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__BEGIN_OF_TRANSACTION__                                    0046skip_transaction.                                                       JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0001    call function 'BAPI_CHARACT_CHANGE'                                 JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0002         exporting CHARACTNAME          = CT04S-ATNAM                   JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0003        TABLES                                                          JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0004         CHARACTDESCRNEW       = it_CharDesc                            JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0005         CHARACTDETAILNEW      = it_CDN  "No changes, but required.     JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0006         CHARACTVALUESCHARNEW  = it_Value                               JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0007         CHARACTVALUESDESCRNEW = it_DESC                                JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0008                   RETURN      = return.                                JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0009    loop at return into wa_return.                                      JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0010      wa_return-Message_v2 = CT04S-ATNAM.                               JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0011      wa_return-Message_v3 = CT04S-ATWRT.                               JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0012      wa_return-Message_v4 = CT04S-ATWRTH.                              JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0013      append wa_return to returns.                                      JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0014    endloop.                                                            JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0015    if p_commit eq 'X'.                                                 JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0016      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'                           JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0017        EXPORTING                                                       JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0018          wait = 'X'.                                                   JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0019    endif.                                                              JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0020                                                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0021loop at returns into wa_return.                                         JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0022  write: / wa_return-Message_v2, wa_return-Message_v3,                  JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0023           wa_return-Message_v4,                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0024           wa_return-message.                                           JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_PROCESSING__                                       0025endloop.                                                                JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__END_OF_TRANSACTION__                                      0001transfer_transaction.                                                   JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__GLOBAL_DATA__                                             0001parameters: p_commit as checkbox, p_break as checkbox.                  JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__GLOBAL_DATA__                                             0002data: lCABN like CABN, lCAWN like CAWN, lCAWNT like CAWNT,              JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__GLOBAL_DATA__                                             0003 it_DESC type standard table of BAPICHARACTVALUESDESCR initial size 0,  JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__GLOBAL_DATA__                                             0004 wa_DESC type BAPICHARACTVALUESDESCR,                                   JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__GLOBAL_DATA__                                             0005 it_Value type standard table of BAPICHARACTVALUESCHAR initial size 0,  JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__GLOBAL_DATA__                                             0006 wa_Value type BAPICHARACTVALUESCHAR,                                   JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__GLOBAL_DATA__                                             0007 return type standard table of BAPIRET2 initial size 0,                 JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__GLOBAL_DATA__                                             0008 returns type standard table of BAPIRET2 initial size 0,                JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__GLOBAL_DATA__                                             0009 wa_return type BAPIRET2,                                               JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__GLOBAL_DATA__                                             0010 it_cdn type standard table of BAPICHARACTDETAIL initial size 0,        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__GLOBAL_DATA__                                             0011 wa_cdn type BAPICHARACTDETAIL,                                         JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__GLOBAL_DATA__                                             0012 it_chardesc type standard table of BAPICHARACTDESCR initial size 0.    JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0000__GLOBAL_DATA__                                             0013                                                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0001/SAPDMC/LTXTH                 STYPE                         0001/SAPDMC/LTXTH-STYPE = '1'.                                              JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0001/SAPDMC/LTXTH                 __BEGIN_OF_RECORD__           0001/SAPDMC/LTXTH = INIT_/SAPDMC/LTXTH.                                     JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0001/SAPDMC/LTXTH                 __END_OF_RECORD__             0001transfer_record.                                                        JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0002/SAPDMC/LTXTL                 STYPE                         0001/SAPDMC/LTXTL-STYPE = '2'.                                              JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0002/SAPDMC/LTXTL                 __BEGIN_OF_RECORD__           0001/SAPDMC/LTXTL = INIT_/SAPDMC/LTXTL.                                     JKAUFMANN   20160529
/SAPDMC/LSOCOD                SAPLSMW        MD             CHAR_VALUES    0002/SAPDMC/LTXTL                 __END_OF_RECORD__             0001transfer_record.                                                        JKAUFMANN   20160529
/SAPDMC/LSOINP                SAPLSMW        MD             CHAR_VALUES    0001FEc:\clients\charvals.txt                                                                                                 file                          0000X 000000                                 X      X XX
/SAPDMC/LSOINS                SAPLSMW        MD             CHAR_VALUES    CT04S                         0001
/SAPDMC/LSOPAR                SAPLSMW        MD             CHAR_VALUES                FROMLINE_READ                 0000000000
/SAPDMC/LSOPAR                SAPLSMW        MD             CHAR_VALUES                TOLINE_READ                   0000010000
/SAPDMC/LSOPAR                SAPLSMW        MD             CHAR_VALUES    JKAUFMANN   WILDCARDVALUE

[Documentation    ]