on 04-28-2009 5:21 AM
Hi Experts,
I have a requirement in invoice smartform (Debit Memo Reequest) where i have to print the material descriptions and material numbers in Main Window according to the following conditions.
1.Description from the material master data in German language DE for every material in a Debit Memo request:
!!!for plant 220, for sales organization 220!!!
If there is no german description then take the english discription MAKT-MAKTTX
if material type is HALB then print material number MARA-MATNR as well
2. List all materials provided in related DMR(Debit Memo Request) with language key DE
The sequence is:
a) First comes service materials with DIEN material type (except material DE_ENV_FEE that has to be the last in the list) and print only material text MAKT-MAKTX with DE lang.key
b) Then goes materials with mat.type HALB and print here material description in with language key DE with [on the next line] smartform u201CArt.Nr.u201D and mat.num MARA-MATNR
Example:
Platine (MAKT-MAKTX)
Art.Nr. Mat.num (MARA-MATNR)
c) If exist any others material types then print after HALB u2013 before DE_ENV_FEE material the same way only material text MAKT-MAKTX with DE lang.key
d) DE_ENV_FEE has to appear at the end of all materials. from the material master data in German language DE, "MAKT-MAKTX"
Please give me the solution for the above requirement ASAP.
Thanks in advance,
Chintu
OK. I will explain in brief. I have a invoice smartform where the main window needs to be displayed with Equipment Details, Material details and Pricing Condition details for each individual item. The Material Descriptions and Material numbers are displayed in such a way that a sequence needs to be followed. In my case, first comes service material (DIEN type), Semi finished (HALB), other type materials and at last DE_ENV_FEE (my client material).
Please explain what needs to be done before printing them.
Thanks
Chintu
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
In smartform--> Global Definitions --> Intialization tab --> Declare 4 internal tables and move each Material type materials to one different internal tables --> finally move all data one by one into a final internal table..
Eg:
service material (DIEN type), Semi finished (HALB), other type materials and at last DE_ENV_FEE (my client material).
lets say u have all the materials in ur itab internal table.
data : it_ser_mat TYPE itab,
it_sem_mat TYPE itab,
it_oth_mat TYPE itab,
it_cli_mat TYPE itab,
it_final TYPE itab.
now,
it_ser_mat[] = itab[].
delete it_ser_mat where mtart NE 'DIEN'. ---> Service Materials Only
SORT it_ser_mat by matnr.
it_sem_mat[] = itab[].
delete it_sem_mat where mtart NE 'HALB'. ---> Semi finished Materials
SORT it_sem_mat by matnr.
it_oth_mat[] = itab[].
delete it_oth_mat where mtart NE 'XXXX'. -
> Other type materials
SORT it_oth_mat by matnr.
it_cli_mat[] = itab[].
delete it_cli_mat where mtart NE 'DE_ENV_FEE'. -
> Ur Client Materials
SORT it_cli_mat by matnr.
Now move all the tables data to one internal table It_final.
it_final[] = it_ser_mat[] .
it_final[] = it_sem_mat[] .
it_final[] = it_oth_mat[] .
it_final[] = it_cli_mat[] .
dont SORT it_final after moving. Now, u ill have all the materials in it_final in SORTED order of materials & Material Types...
Hope its clear!!
Regards,
Pavan
Hi,
Please can anyone give the solution for this requirement in detail with code.
Thanks
Chintu
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
well maybe someone can but noone will, because this forum is there to solve problems and answer questions.
This is not a "I post my requirements and get a working piece of coding fulfilling my requirements"-Forum.
Explain us at which point you struggle, and why, then we will be helpful again.
Hi,
I have no time to go into the details. So in a very short overview.
In initialising form you make an new Itab with same data as original (and maybe some index and/or type).
Copy normal data tab into and order it in the sequence it has to be printed.
In Smartform.
Loop over this new itab.
While looping get the extra info with some other program logic
Success.
Gr., Frank
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi!
You can create the form first and then translate your description text going in transaction
SE63 in DE SAP logon.
In se63 Translations>long texts->SAP script-->Smartforms.
Enter your smartform name and click EDIT.
You can go and change the text where ever u need.
Initailly you need to check the language in which smartform was created.
The original lang of smartform is suppose EN and u want to make the text changes in DE, u need to go into SE63 in DE SAP logon.
You can get the Language there for that...
and then if those texts don't have german translation it will by default be seen in the original language that is english.
Regards.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.