cancel
Showing results for 
Search instead for 
Did you mean: 

Printing Materials in Smartform

Former Member
0 Kudos

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

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

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

Former Member
0 Kudos

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

Former Member
0 Kudos

Hi,

Please can anyone give the solution for this requirement in detail with code.

Thanks

Chintu

Former Member
0 Kudos

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.

Former Member
0 Kudos

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

Former Member
0 Kudos

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.

Former Member
0 Kudos

Hi Richa,

I think you have misunderstood my question. I was aking to print the descriptions of the Materials in the Main window of the above smartform by fetching the fields from the tables. Moreover, i dont have access to change the text in Se63 as you said.

Thanks,

Chintu