ETM Catalog – Input File Format and Analysis
Data Present in SAP HELP :
Data Transfer – Catalog Data
This report serves the DIRECT-INPUT of catalog data.
If you want to use DIRECT-INPUT, you must have defined a catalog under the IMG node Define Catalog Code.
For catalogs with characteristic values, you also have to ensure that that catalog class and the appropriate characteristics exist and that the class/class type has been entered in the above IMG node.
The data can either be made available via an appropriate tool such as EXCEL (for example, for catalogs that have been self-defined) or via data preparation programs (report /SAPCEM/INPUT_BGL91 for BGL91 data, report /SAPCEM/INPUT_BAL90 for BAL90 data).
A file with the following properties must exist for the data transfer:
- The data is stored in ASCII format and separated within a record with the TAB as separator (*.txt).
- There are three different data types within a data record:
· #1 catalog data
· #2 text data
· #3 characteristic data
- You must enter data type #1, but the other two data types are optional. Optional entries are displayed as such in the data type structures.
- Data type #1: there is exactly one entry with the following structure per data record
· Structure- / catalog number
· Interpolation indicator
- Data type #2: there can be any number of entries with the following structure per data record:
· Language indicator (e.g. D for German, E for English)
· Catalog Text
· BOM text, only to be recommended for CEM BOM catalogs
The catalog text is the descriptive text that is assigned to the numbers in the catalog in the catalog structure display.
The BOM text is a shortened description of the numbers in the catalog that is displayed in the BOMs.
Only the catalog text has to be defined for the catalog structure. It is not absolutely necessary to define a catalog structure for a catalog, but it helps.
When the BGL91 is converted, the catalog text for the catalog entries is determined either via the text file included, if there is none, it is copied from the BOM text.
For a CEM BOM catalog that you defined yourself, both the catalog text and the BOM text should be defined for the catalog entries. Entering a text after the language indicator is always valuated as catalog text, only subsequent text entry would mean the BOM text.
- Data type #3: there can any number of entries with the following structure per data record:
· Characteristic name
· Characteristic value
The catalog indicator, the file name (with path) of the data file and the transfer type (I = create, M = change) has to be entered on the selection screen. If you set the “Test run” indicator, only a data test takes place and the data error or data information, if the processing is successful, is returned. If this indicator is not set, the data is also updated.
Structure entry with two languages:
#1 123 #2 D Überschrift #2 E title
Catalog entry with structure text and BOM text and a characteristic
#1 12345 #2 D Test record TEST #3 VALUE 2,6
Catalog entry without text and with a characteristic
#1 12345-a #3 SIZE 7
Analysis : (This might be helpful for both Technical and Functional Consultants)
With the above example , some might have confusion on the exact input file format. Here is my analysis.
(Attached the text file with sample data)
Object: Need to Provide Input file format for the Standard Program /SAPCEM/CATALOGUE_INPUT.
Selection Screen of the above Program:
Note: 1) As F4 help is not provided for the ‘File name’, user should copy the path of the file.
2) Catalog Code must be defined, as mentioned in the Pre requisites.
3) Activity Mode ‘I’ for Add and ‘M’ for Change.
4) Checkbox is used for Test Run.
There are three different data types within a data record:
· #1 catalog data
· #2 text data
· #3 characteristic data
Note: Data type #1 is mandatory and remaining two are optional.
From the Example, it is obvious that each record has different data types starting with hash (#1, #2, #3).
After analyzing the code, each field in the record should be separated by a TAB.
Each red box indicates a TAB.
Selected the Catalog Code as BGL92 (Already configured in the system)
Provided the file path
Data in the input record got updated as
Note: Each TAB is converted to ‘#’.
As per the Program logic, the record should split at ‘#’. It’s mandatory to provide TAB after each field in the record.
Loop Logic needs to be analyzed carefully, in order to maintain different data types.
When the Loop executes for the first time, the value present in <SPLIT> is
As the IF condition passes, HLP_TYPE will be assigned with Data type (1)
No Assignments or manipulations will be done in PERFORM APPEND_WORK_AREA, as no data is assigned to fields WA_KATAL (Catalog no.), WA_TEXT (BOM and Characteristic Text) , WA_VALUE (Characteristic Value).
When the Loop executes for the second time, the value present in <SPLIT> is Catalog Number
In this Case IF condition fails as <SPLIT>-FIELD (1) is not equal to ‘#’and control goes to ELSE part.
When all the conditions like (Edit mask, Length of catalog Number) satisfied, WA_KATAL will assigned with catalog number provided in the input data file.
When the Loop executes for the third time, the value present in <SPLIT> is Data type (#2).
As the IF Condition is satisfied, HLP_TYPE is assigned with 2 and
PERFORM APPEND_WORK_AREAS is called and Catalog Internal table will be appended as WA_KATAL is not initial this time.
Inside PERFORM APPEND_WORK_AREAS.
When the Loop executes for the fourth time, the value present in <SPLIT> is ‘EN’ representing language English.
The Control goes to ELSE Part and WA_TEXT (Characteristic Text) will be assigned and in next loop, WA_TEXT will passed to corresponding Internal table in PERFORM APPEND_WORK_AREAS.
BOM Text will be updated based on the ‘Use of catalog’ filed value in Table ‘J_3GT370S’.
BOM Text will be updated only when ‘Use of catalog’ is equal to ‘S’. In remaining cases BOM Text will be ignored.
Similarly, in further loops of SPLIT table, the characteristic Value will also gets assigned to corresponding internal table and finally gets updated into Database tables.
The Results Log is displayed as
Hope this might be helpful.
V Prasanth Kumar Reddy