cancel
Showing results for 
Search instead for 
Did you mean: 

how to avoid repetition

Former Member
0 Kudos

hello friends,

i have a scenario where,

we get a return order, in which invoice has each rejected item with zero dollars appears on each of the

related billing documents, ie, the invoices show rejected items repeating on multiple billing documents

related to the same return order.

The order has approximately 119 Rejected Items.

Expected results is that the 119 rejected items appear on the billing document once.

Thus across the 10 billing documents there should be a total of 119 rejected items.

Based on the requirements the following must be performed :

1) On printing of the first invoice, all rejected line items within the Order must be printed at once on that invoice.

No repetition of any Rejected Lines Items on the subsequent invoices.

2)The Rejected Line items must be clubbed and printed at the end of the invoice.

can some one help me, how to proceed.

thank you.

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

You need to write the code in the Smartform it self, do not touch the Generated function module, In the Smartform, it will have an internal table to hold this data, after havin gall the data, just create a program line node inside that LOOP AT ITAB and move all the rejected itesm into another internal table, so here you will have 2 internal tables, which 1 will have the first invoice and the rejected iteams, this will be printed one by one, and the 2 internal table will have only rejected itesm, this will be Printed at the last page using that Internal table

Regards

Sudheer

Former Member
0 Kudos

thanks sudhir for the reply,

but , i didnot find any loop at itab in the main window,

the only code i found in the header was

x_job_output_options = job_output_options.

g_reason = x_item-reason.

SELECT SINGLE augru_auft

INTO l_augru_auft

FROM vbrp

WHERE vbeln EQ x_header-vbeln AND

posnr EQ x_item-posnr.

IF sy-subrc EQ 0.

IF l_augru_auft EQ 'UIM'.

g_uim = 'X'.

ENDIF.

ELSE.

CLEAR : g_uim.

ENDIF.

CLEAR : l_augru_auft.

can u plz help me solving this problem.

thank you.

Former Member
0 Kudos

Hi,

Check the following:

In the main window there may be a Table. If yes then go to the 'DATA' tab of the internal table. there the internal table might be passed. You have one check box there ITAB into WORKAREA.

IF there is not internal table passed in the Table then there moght be a Loop passed in the Main Area on the table. Expend the Table in the main window. You can get the Internal Table name form the 'DATA' tab of the loop.

Ashvender

Former Member
0 Kudos

Hi

You can use delee adjacent duplicates statement for this requirement. are you trying to print using smart forms??? Please let me know

You can also use collect statement to collect all the simlar items to a single place

IF ( t_komv-kschl = 'JIPL' ).
    ADD: t_komv-kwert TO g_sltax.
    ADD: t_komv-kwert TO l_saltax1-amt.
    l_saltax1-per = t_komv-kbetr / 10.
    COLLECT l_saltax1 INTO it_saltax.
wa_salitem-item = <fs>-ebelp.
    wa_salitem-per  = l_saltax1-per.

    SHIFT wa_salitem-item LEFT DELETING LEADING '0'.
    APPEND wa_salitem TO it_salitem.
    CLEAR  wa_salitem.

 

Reward all helpfull answers

Regards

Pavan

Message was edited by:

Pavan praveen

Former Member
0 Kudos

hi thanks for the reply,

yes i am using the smart form,

so how do i start, is it that,

i need to go to se37, getinto the function module of this smartform and look for some table.

or should i approach this problem differently.

thank you.