2 things in major
Getting/checking the Material type for the higher level material of the Sales order used in production order
for this logic/code is given
*get the material type of the higher level line item
select single matnr into i_matnr
where aufnr = afpo-aufnr
select single mtart into i_mtart from mara
where matnr = i_matnr
If the value for i_mtart is ZPPG, need to use the new logic going forward, else - it should continue with the current logic in the program.
Second thing is getting the Header texts from the sales order
Use READ_TEXT function module to read these 4 texts ,detailed doc is attached in the end about read _text
Have to read the characteristics of the material
use the following for this
or use the fun module:
so get the Texts and characteristics and based on these two things changes the status of the order.
All Status of the production order are stored in JEST table
And status descriptions are stored in TJ02T table
use them for help
READ_TEXT provides a text for the application program in the specified work areas.
The function module reads the desired text from the text file, the text memory, or the archive. You must fully specify the text using OBJECT, NAME, ID, and LANGUAGE. An internal work area can hold only one text; therefore, generic specifications are not allowed with these options.
After successful reading, the system places header information and text lines into the work areas specified with HEADER and LINES.
If a reference text is used, SAPscript automatically processes the reference chain and provides the text lines found in the text at the end of the chain. If an error occurs, the system leaves the function module and triggers the exception REFERENCE_CHECK.
CALL FUNCTION 'READ_TEXT'
EXPORTING CLIENT = SY-MANDT
OBJECT = ?...
NAME = ?...
ID = ?...
LANGUAGE = ?...
ARCHIVE_HANDLE = 0
IMPORTING HEADER =
TABLES LINES = ?...
EXCEPTIONS ID =
Specify the client under which the text is stored. If you omit this parameter, the system uses the current client as default.
Reference field: SY-MANDT
Default value: SY-MANDT
Enter the name of the text object to which the text is allocated. Table TTXOB contains the valid objects.
Reference field: THEAD-TDOBJECT
Enter the name of the text module. The name may be up to 70 characters long. Its internal structure depends on the text object used.
Reference field: THEAD-TDNAME
Enter the text ID of the text module. Table TTXID contains the valid text IDs, depending on the text object.
Reference field: THEAD-TDID
Enter the language key of the text module. The system accepts only languages that are defined in table T002.
Reference field: THEAD-TDSPRAS
If you want to read the text from the archive, you must enter a handle here. The system uses it to access the archive. You can create the handle using the function module ACHIVE_OPEN_FOR_READ.
The value '0' indicates that you do not want to read the text from the archive.
Reference field: SY-TABIX
Default value: 0
If the system finds the desired text, it returns the text header in this parameter.
The table contains all text lines that belong to the text read.
The text ID specified in the parameter ID does not exist in table TTXID. It must be defined there together with the object of the text module.
The parameter LANGUAGE contains a language key that does not exist in table T002.
The parameter NAME contains the name of a text module that does not correspond to the SAPscript conventions.
The field contains only blanks.
The field contains the invalid characters * or ,.
The parameter OBJECT contains the name of a text object that does not exist in table TTXOB.
The system did not find the specified text module.
The text module to be read has no text lines of its own but refers to the lines of another text module. This reference chain can include several levels. For the current text, the chain is interrupted, that is, one of the text modules referred to in the chain no longer exists.
The exception WRONG_ACCESS_TO_ARCHIVE is triggered if an archive is accessed using an incorrect or non-existing archive handle or an incorrect mode (that is, read if the archive is open for writing or vice versa).
Reward points if useful