Load Characteristic Allowed Values with a BAPI
SAP'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.
The 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.
Caution
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.
Download 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 ]