Po list containing discount
Hi MM experts
Could any one help,
How to List PO based on discounts with discount value?
Thanks in advance
Regards
Senthilnathan
Hi,
I am afraid that there is any std. report available . You have to go for the Development.
Biswajit
Similar Messages
-
List of Discount based on customer
Olá pessoal,
Sou novo no mundo SAP SD e estou com algumas dúvidas... vou postar uma das principais aqui...
Na empresa em que trabalho, o processo funciona da seguinte forma:
1. Cliente é cadastrado
2. Ordem de venda (OV) implantada para este cliente com as condições de preço (descontos) definidas manualmente. Mesmo este cliente tendo uma lista de descontos, por família de produtos, aprovada em uma planilha excel.
3. OV passa pela primeira validação, onde são conferidas todas as questões tributárias, transportadoras e se o mesmo esta dentro da política comercial além de outros.
4. OV passa pela segunda validação, onde são liberados, ou não, os descontos cedidos ao cliente pelo vendedor.
Demais passos são desconsiderados nesta situação que preciso ajuda, portanto não vou prosseguir.
Posto isto, minha dúvida seria em como eliminar o 4º passo, uma vez que este cliente já possui uma lista de descontos definida.
Gostaria de saber se a solução abaixo é possível, e também se existe outra solução, bem como se somente customizado.
No cadastro do cliente, gostaria de colocar o desconto que quero aplicar por família de produto.
Ex.: Higiene = 37% | Alimentação=25% | Bebidas: 5%
E este cadastro seria aprovado pela direção uma única vez, até que os preços descontos precisem ser ajustados. Eliminando assim o 4º passo e desta forma, os diretores teriam que aprovar o cadastro do cliente e não todos os pedidos deste. Assim, uma OV quando implantada, já sairia com o desconto aplicado por família de acordo com o cadastro do cliente e automaticamente.
O 4º passo só existiria se caso houvesse uma tratativa especial em que fosse cedido um desconto manual na OV.
É possível?
Desde já agradeço.
Obrigado
Message was edited by: G Lakshmipathi
Please ensure to post in English languageOk, sorry.
Hi,
I'm new in the SAP world and i need a help with one doubts.
In the company I work, the process works as follows:
1. Client is registered
2. Sales Order (SO) registered for this client with the conditions of price (discounts) defined manually. But this client have's a list of discounts, by product family, aproved in an excel spreadsheet
3 SO passes for the first validation, which conferred all tax issues, carriers and whether it is within the trade policy and others.
4. SO passes for the second validation, where they are released, or not, the discounts granted to the customer by the seller
Other steps are disregarded in this situation that i need help, so I will not proceed with they.
That said, my question would be how to eliminate the 4th step, since this client already has a list of defined discounts.
I wonder if the solution below is possible, and also if there is another solution, and only if customized.
In the customer master, I would to inform that discount i want to apply separated by product Family.
For Example: Hygiene = 37% | Power = 25% | Drinks: 5%
And this registration will be approved by direction once, until the discounts need to be adjusted. Thus eliminating the 4th step and the directors would have to approve the registration of the client and not all sales orders. Thus, when an SO is registered, would have with the discount applied per family according to the registration of the client and automatically.
The 4th step only exist if there was a special case in which dealings were given a manual discount on OV.
Is it possible?
Tks. -
I am working with a custom table zscs_record.
data is being fetched in the perform upload_workarea.
but the list contains no data.
there might be any problem with the display_log.
if anybody plz can find where is the mistake full points will be rewarded.
just copy the program and execute it.
REPORT yreport1 LINE-SIZE 260
NO STANDARD PAGE HEADING
MESSAGE-ID zsc_supply_chain.
T Y P E - P O O L S *
TYPE-POOLS: SLIS.
C o n s t a n t V A R I A B L E S *
CONSTANTS: c_e TYPE char1 VALUE 'E',
c_a TYPE char1 VALUE 'A',
c_s TYPE char1 VALUE 'S',
c_x TYPE char1 VALUE 'X',
c_dynpro_0201(4) TYPE c VALUE '0201',
c_prognam(12) TYPE c VALUE 'SAPRCKM_MR22',
c_dynpro_1000(4) TYPE c VALUE '1000',
c_dynpro_0120(4) TYPE c VALUE '0120',
c_okcode(10) TYPE c VALUE 'BDC_OKCODE',
c_entr(5) TYPE c VALUE '=ENTR',
c_dummy(6) TYPE c VALUE '=DUMMY',
c_down(5) TYPE c VALUE '=DOWN',
c_save(5) TYPE c VALUE '=SAVE',
c_back(5) TYPE c VALUE '=BACK',
c_onli(5) TYPE c VALUE '=ONLI',
c_ee(3) TYPE c VALUE '/EE',
c_one TYPE ckml_kongr VALUE '1' ,
c_bkpf(4) TYPE c VALUE 'BKPF',
c_wfp TYPE bukrs VALUE 'WFP',
c_sa TYPE blart VALUE 'SA',
c_ags TYPE ktosl VALUE 'AGS',
c_usd TYPE waers_iso VALUE 'USD',
c_budat(14) TYPE c VALUE 'MR21HEAD-BUDAT',
c_bukrs(14) TYPE c VALUE 'MR21HEAD-BUKRS',
c_werks(14) TYPE c VALUE 'MR21HEAD-WERKS',
c_xblnr(14) TYPE c VALUE 'MR21HEAD-XBLNR',
c_kongr(14) TYPE c VALUE 'CKMLKONT-KONGR',
c_bktxt(14) TYPE c VALUE 'MR21HEAD-BKTXT',
c_mr22 TYPE tstc-tcode VALUE 'MR22',
c_f13 TYPE tstc-tcode VALUE 'F.13',
c_n(1) TYPE c VALUE 'N',
c_bag TYPE char9 VALUE '%Bagging%',
c_ltsh TYPE char12 VALUE '%LTSH%Clear%',
c_trnsf TYPE char30 VALUE '%Transformation%Clear%',
c_ste TYPE char20 VALUE '%Stevedoring%Clear%',
c_mat TYPE char30 VALUE '%Material%Revaluation',
c_mat1 TYPE char8 VALUE 'MATERIAL',
c_rev TYPE char10 VALUE 'REVOLUTION',
c_tabname TYPE tabname VALUE 'ZSCT_RECORD',
c_prognam3(7) TYPE c VALUE 'SAPF124',
c_prognam4(8) TYPE c VALUE 'SAPMSSY0',
c_cursor(10) TYPE c VALUE 'BDC_CURSOR',
c_konts_low(9) TYPE c VALUE 'KONTS-LOW',
c_bukrx_low(9) TYPE c VALUE 'BUKRX-LOW',
c_saknr(7) TYPE c VALUE 'X_SAKNR',
c_augdt(5) TYPE c VALUE 'AUGDT',
c_testl(5) TYPE c VALUE 'TESTL',
c_xausbel(7) TYPE c VALUE 'XAUSBEL',
c_xnausbel(8) TYPE c VALUE 'XNAUSBEL',
c_fehler(8) TYPE c VALUE 'X_FEHLER',
c_mr21(23) TYPE c VALUE 'MR21HEAD-SCREEN_VARIANT',
c_lagmat(18) TYPE c VALUE 'LAGERMATERIAL_0250',
c_psp(30) TYPE c VALUE 'PSP-ELEMENT - OHNE BWKEY_0250',
c_ckmatnr(20) TYPE c VALUE 'CKI_MR22_0250-MATNR(',
c_ckzuumb(20) TYPE c VALUE 'CKI_MR22_0250-ZUUMB(',
c_ckpspnr(20) TYPE c VALUE 'CKI_MR22_0250-PSPNR(',
c_ckbwkey(20) TYPE c VALUE 'CKI_MR22_0250-BWKEY(',
c_sp(1) TYPE c VALUE ')',
c_shkzg1 TYPE shkzg VALUE 'H',
c_shkzg2 TYPE shkzg VALUE 'S',
*For ALV column positions
c_col_pos1 TYPE sycucol VALUE '01',
c_col_pos2 TYPE sycucol VALUE '02',
c_col_pos3 TYPE sycucol VALUE '03',
c_col_pos4 TYPE sycucol VALUE '04',
c_col_pos5 TYPE sycucol VALUE '05',
c_col_pos6 TYPE sycucol VALUE '06',
c_col_pos7 TYPE sycucol VALUE '07',
c_col_pos8 TYPE sycucol VALUE '08',
c_col_pos9 TYPE sycucol VALUE '09',
c_col_pos10 TYPE sycucol VALUE '10',
c_col_pos11 TYPE sycucol VALUE '11',
c_col_pos12 TYPE sycucol VALUE '12',
c_col_pos13 TYPE sycucol VALUE '13',
c_col_pos14 TYPE sycucol VALUE '14',
c_col_pos15 TYPE sycucol VALUE '15',
*For ALV Field Names of final Table
c_fld_recid TYPE slis_fieldname VALUE 'RECID', "Record ID number
c_fld_kongr TYPE slis_fieldname VALUE 'KONGR', "Reason code
c_fld_hkont TYPE slis_fieldname VALUE 'HKONT', "GL Account
c_fld_projk TYPE slis_fieldname VALUE 'PROJK', "Project code
c_fld_werks TYPE slis_fieldname VALUE 'WERKS', "Plant
c_fld_matnr TYPE slis_fieldname VALUE 'MATNR', "Commodity
c_fld_zcptp TYPE slis_fieldname VALUE 'ZCPTP', "Cose portion to be posted
c_fld_zerrf TYPE slis_fieldname VALUE 'ZERRF', "Success flag
c_fld_zerrc TYPE slis_fieldname VALUE 'ZERRC', "Error code
c_fld_zertx TYPE slis_fieldname VALUE 'ZERTX', "Error txt
c_fld_hkont1 TYPE slis_fieldname VALUE 'HKONT',
c_fld_opbal TYPE slis_fieldname VALUE 'OPBAL',
c_fld_exp TYPE slis_fieldname VALUE 'EXP',
c_fld_cap TYPE slis_fieldname VALUE 'CAP',
c_fld_err TYPE slis_fieldname VALUE 'ERR',
c_table TYPE slis_tabname VALUE 'i_log_disp'.
*T Y P E S *
*Structure for uploading the data for further processing
TYPES: BEGIN OF t_zscs_record ,
recid TYPE zderecid, "Record id number
zerrf TYPE zdeerrf, "Processed \ not processed flag - FLAG X Success Blank
cpudt TYPE cpudt, "Day On Which Accounting Document Was Entered
kongr TYPE ckml_kongr, "Account Assignment Reason
hkont TYPE hkont, "General Ledger Account
projk TYPE char30, "WBS Element
werks TYPE werks_d, "Plant
matnr TYPE matnr, "Material Number
zcptp TYPE zdecptp, "cost portion to be posted
belnr TYPE belnr_d, "Accounting Document Number
zerrc TYPE zdeerrc, "Error code
zertx TYPE zdeertx, "Error text
set TYPE numc2,
END OF t_zscs_record ,
*Structre for modified WBS element
BEGIN OF t_zscs_record_m ,
recid TYPE zderecid, "Record id number
zerrf TYPE zdeerrf, "Processed \ not processed flag - FLAG X Success Blank
cpudt TYPE cpudt, "Day On Which Accounting Document Was Entered
kongr TYPE ckml_kongr, "Account Assignment Reason
hkont TYPE hkont, "General Ledger Account
projk TYPE char24,
werks TYPE werks_d, "Plant
matnr TYPE matnr, "Material Number
zcptp TYPE zdecptp, "cost portion to be posted
belnr TYPE belnr_d, "Accounting Document Number
zerrc TYPE zdeerrc, "Error code
zertx TYPE zdeertx, "Error text
set TYPE numc2,
END OF t_zscs_record_m,
*Structure for retrieving data from custom table ZSCT_AUTOINV
BEGIN OF t_zsct_autoinv,
saknr TYPE saknr, "G/L Account Number
fipos TYPE fm_fipex, "Commitment Item
geber TYPE bp_geber, "Fund
saknr_off TYPE saknr, "G/L Account Number
fipos_off TYPE fm_fipex, "Commitment Item
END OF t_zsct_autoinv,
*Structure for retrieving data from database table FMBDT
BEGIN OF t_fmbdt,
rldnr TYPE rldnr, "Ledger
rrcty TYPE rrcty, "Record Type
rvers TYPE versn, "Version
ryear TYPE gjahr, "Fiscal Year
robjnr TYPE gobjnr_r, "Object number for objects (account assignment elements)
cobjnr TYPE gobjnr_c, "Object number for transaction attributes
sobjnr TYPE gobjnr_s, "Object number for partner objects (accnt assignmnt elements)
rtcur TYPE rtcur, "Currency Key
drcrk TYPE shkzg, "Debit/Credit Indicator
rpmax TYPE rpmax, "period
rfund TYPE fm_fund, "Fund
rfundsctr TYPE fistl, "Funds Center
rmeasure TYPE fm_measure, "Funded Program
END OF t_fmbdt,
*Structure for retrieveing data from table SKAT
BEGIN OF t_skat,
spras TYPE spras, "Language Key
ktopl TYPE ktopl, "Chart of Accounts
saknr TYPE saknr, "G/L Account Number
txt50 TYPE txt50_skat, "G/L Account Long Text
END OF t_skat,
*Structure for tracking the errors occured during document posting
*through standard BAPI
BEGIN OF t_error_bapi,
number TYPE symsgno,
message TYPE bapi_msg,
recid TYPE zderecid,
set TYPE numc2,
END OF t_error_bapi,
*Structure for tracking the success occured during document posting
*through standard BAPI
BEGIN OF t_suc_bapi,
belnr TYPE belnr_d,
message TYPE bapi_msg,
recid TYPE zderecid,
set TYPE numc2,
END OF t_suc_bapi,
*Structure for tracking the errors occured during document posting
*through MR22 transaction code
BEGIN OF t_error_bdc,
recid TYPE zderecid, "Record id number
number TYPE symsgno,
message TYPE bapi_msg,
set TYPE numc2,
END OF t_error_bdc,
*Structure for tracking the document no. occured during successful posting
*through MR22 transaction code
BEGIN OF t_suc_bdc,
recid TYPE zderecid, "Record id number
var TYPE sy-msgv1,
message TYPE bapi_msg,
set TYPE numc2,
END OF t_suc_bdc,
BEGIN OF t_log_disp,
recid TYPE zderecid, "Record id number
kongr TYPE ckml_kongr, "Account Assignment Reason
hkont TYPE hkont, "General Ledger Account
projk TYPE char30, "WBS Element
werks TYPE werks_d, "Plant
matnr TYPE matnr, "Material Number
zcptp TYPE zdecptp, "cost portion to be posted
zerrf TYPE zdeerrf, "Processed \ not processed flag - FLAG X Success Blank
zerrc TYPE zdeerrc, "Error code
zertx TYPE zdeertx, "Error text
hkont1 TYPE hkont,
opbal TYPE dmbtr,
exp TYPE dmbtr,
cap TYPE dmbtr,
err TYPE dmbtr,
END OF t_log_disp.
*Field symbols declared for BAPIRET2
FIELD-SYMBOLS: <fs_return> TYPE bapiret2.
G l o b a l W O R K A R E A S *
DATA: w_zscs_record TYPE t_zscs_record,
w_zscs_record_mod TYPE t_zscs_record,
w_fmbdt TYPE t_fmbdt,
w_bapi TYPE t_zscs_record,
w_bdc TYPE t_zscs_record,
w_temp TYPE t_zscs_record, "#EC NEEDED
w_bapiheader TYPE bapiache09,
w_return TYPE bapiret2,
w_accoutgl TYPE bapiacgl09,
w_currency TYPE bapiaccr09,
w_bdcdata TYPE bdcdata,
w_messtab TYPE bdcmsgcoll,
w_error_bapi TYPE t_error_bapi,
w_suc_bapi TYPE t_suc_bapi,
w_error_bdc TYPE t_error_bdc,
w_suc_bdc TYPE t_suc_bdc,
w_fieldcatalog TYPE slis_fieldcat_alv, "Workarea for populating fieldcatalog
w_log_disp TYPE t_log_disp.
I n t e r n a l T a b l e s *
DATA: i_zscs_record TYPE STANDARD TABLE OF t_zscs_record,
i_zscs_record1 TYPE STANDARD TABLE OF t_zscs_record,
i_bapi TYPE STANDARD TABLE OF t_zscs_record,
i_bdc TYPE STANDARD TABLE OF t_zscs_record,
i_fmbdt TYPE STANDARD TABLE OF t_fmbdt,
i_accoutgl TYPE STANDARD TABLE OF bapiacgl09,
i_currency TYPE STANDARD TABLE OF bapiaccr09,
i_return TYPE STANDARD TABLE OF bapiret2,
i_bdcdata TYPE STANDARD TABLE OF bdcdata INITIAL SIZE 0,
i_messtab TYPE STANDARD TABLE OF bdcmsgcoll INITIAL SIZE 0,
i_bdcdata1 TYPE STANDARD TABLE OF bdcdata INITIAL SIZE 0,
i_messtab1 TYPE STANDARD TABLE OF bdcmsgcoll INITIAL SIZE 0,"#EC NEEDED
i_autoinv TYPE STANDARD TABLE OF t_zsct_autoinv,
i_autoinv1 TYPE STANDARD TABLE OF t_zsct_autoinv,
i_error_bapi TYPE STANDARD TABLE OF t_error_bapi,
i_suc_bapi TYPE STANDARD TABLE OF t_suc_bapi,
i_error_bdc TYPE STANDARD TABLE OF t_error_bdc,
i_suc_bdc TYPE STANDARD TABLE OF t_suc_bdc,
i_fieldcatalog TYPE slis_t_fieldcat_alv,
i_log_disp TYPE STANDARD TABLE OF t_log_disp. "internal table for final log display
G l o b a l V A R I A B L E S *
DATA: v_rec TYPE string,
v_rec1 TYPE string,
v_count TYPE numc2 VALUE 1,
v_flag TYPE char1, "#EC NEEDED
v_subrc TYPE sysubrc,
v_objkey TYPE awkey,
v_amt TYPE zdecptp,
v_txt50 TYPE txt50_skat,
v_pspid TYPE ps_pspid, "#EC NEEDED
v_totexppe TYPE zdecptp,
v_totcapit TYPE zdecptp,
v_toterror TYPE zdecptp,
v_todmbtr TYPE dmbtr,
v_repid TYPE sy-repid.
S E L E C T I O N - S C R E E N D E F I N I T I O N *
S E L E C T I O N - S C R E E N *
*Begin of inv selection block
SELECTION-SCREEN BEGIN OF BLOCK inv WITH FRAME TITLE text-001.
PARAMETERS: p_pstdat TYPE budat DEFAULT sy-datum, "Posting Date
p_rtmode AS CHECKBOX DEFAULT c_x, "Run in test mode
p_prsall RADIOBUTTON GROUP rad DEFAULT 'X' USER-COMMAND com, "Process All
p_cstcpt RADIOBUTTON GROUP rad, "Process cost to be capitalized
p_cstexp RADIOBUTTON GROUP rad, "Process cost to be expensed
p_exauto AS CHECKBOX. "Execute Automatic Clearing
SELECTION-SCREEN END OF BLOCK inv.
*End of inv selection block
I N I T I A L I Z A T I O N *
INITIALIZATION.
Subroutine for clearing the memory space
PERFORM clear_memory. "To clear the memory space.
A T S E L E C T I O N - S C R E E N O U T P U T *
AT SELECTION-SCREEN OUTPUT.
For checking the Clearing program through transaction code F.13 only
when user selects the radio button Process All
IF p_prsall = c_x. "Process All
p_exauto = c_x. "Execute Automatic Clearing
ELSE.
p_exauto = ' '. "Execute Automatic Clearing
ENDIF.
MODIFY SCREEN.
START OF SELECTION *
START-OF-SELECTION.
Subroutine for uploading data from custom database table
ZSCT_RECORD based on the condition selected by user
PERFORM upload_workarea.
END OF SELECTION *
END-OF-SELECTION.
Subroutine for populating the respective internal tables
for posting the documents either through standard BAPI or MR22 transaction code
PERFORM populate_bapi_bdc.
IF NOT i_bapi[] IS INITIAL.
Subroutine for posting documents through standard BAPI
PERFORM post_bapi.
ENDIF.
IF NOT i_bdc[] IS INITIAL.
Subroutine for posting documents through MR22 transaction code
PERFORM call_transaction_mr22.
ENDIF.
Subroutine for automatic clearing
IF p_exauto = c_x.
PERFORM clear_f13.
ENDIF.
IF ( ( i_error_bapi IS NOT INITIAL ) OR ( i_error_bdc IS NOT INITIAL ) ).
Subroutine for displaying the log file
PERFORM display_log.
ENDIF.
PERFORM FINAL_list.
*& Form CLEAR_MEMORY
text
form CLEAR_MEMORY.
Refreshing the global internal tables
REFRESH: i_zscs_record,
i_zscs_record1,
i_bapi,
i_bdc,
i_fmbdt,
i_accoutgl,
i_currency,
i_return,
i_bdcdata,
i_messtab,
i_bdcdata1,
i_messtab1,
i_autoinv,
i_error_bapi,
i_suc_bapi,
i_error_bdc,
i_suc_bdc.
Clearing the global work areas
CLEAR: w_zscs_record,
w_zscs_record_mod,
w_fmbdt,
w_bapi,
w_bdc,
w_temp,
w_bapiheader,
w_return,
w_accoutgl,
w_currency,
w_bdcdata,
w_messtab,
w_error_bapi,
w_suc_bapi,
w_error_bdc,
w_suc_bdc,
*Clearing the global variables
v_rec,
v_rec1,
v_flag,
v_subrc,
v_objkey,
v_amt,
v_pspid.
endform. " CLEAR_MEMORY
*& Form UPLOAD_WORKAREA
Subroutine for uploading data from custom database table *
ZSCT_RECORD based on the condition selected by user *
form UPLOAD_WORKAREA .
IF p_prsall = c_x.
Selecting the non processed data from table ZSCT_RECORD
SELECT recid "#EC CI_NOFIRST "Record id number
zerrf "Processed\not processed flag
cpudt "Day On Which Accounting Document Was Entered
kongr "Account Assignment Reason
hkont "General Ledger Account
projk "WBS Element
werks "Plant
matnr "Material Number
zcptp "cost portion to be posted
belnr "Accounting Document Number
zerrc "Error code
zertx "Error text
FROM zsct_record
INTO TABLE i_zscs_record
WHERE zerrf NE space
AND cpudt = '20081022'.
IF sy-subrc NE 0.
MESSAGE text-021 TYPE 'I'.
LEAVE LIST-PROCESSING.
ENDIF.
ELSEIF p_cstcpt = c_x.
Selecting the non processed data from table ZSCT_RECORD
SELECT recid "#EC CI_NOFIRST
zerrf
cpudt
kongr
hkont
projk
werks
matnr
zcptp
belnr
zerrc
zertx
FROM zsct_record
INTO TABLE i_zscs_record
WHERE zerrf NE space
AND kongr <> c_e.
IF sy-subrc NE 0.
MESSAGE text-021 TYPE 'I'.
LEAVE LIST-PROCESSING.
ENDIF.
ELSEIF p_cstexp = c_x.
Selecting the non processed data from table ZSCT_RECORD
SELECT recid "#EC CI_NOFIRST
zerrf
cpudt
kongr
hkont
projk
werks
matnr
zcptp
belnr
zerrc
zertx
FROM zsct_record
INTO TABLE i_zscs_record
WHERE zerrf NE space
AND kongr EQ c_e.
IF sy-subrc NE 0.
MESSAGE text-021 TYPE 'I'.
LEAVE LIST-PROCESSING.
ENDIF.
ENDIF.
IF sy-subrc = 0.
Sort the internal table by record id
SORT i_zscs_record BY recid.
ENDIF.
endform. " UPLOAD_WORKAREA
*& Form POPULATE_BAPI_BDC *
Subroutine for posting documents through standard BAPI *
FORM populate_bapi_bdc.
DATA: v_tabix TYPE sy-tabix.
Sort the data retrieved from ZSCT_RECORD by KONGR,HKONT & PROJK
SORT i_zscs_record BY kongr hkont projk.
IF NOT i_zscs_record IS INITIAL.
LOOP AT i_zscs_record INTO w_zscs_record_mod.
v_tabix = sy-tabix.
Check if the record id is initial
IF NOT w_zscs_record_mod-recid IS INITIAL.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = w_zscs_record_mod-recid
IMPORTING
output = w_zscs_record-recid.
ENDIF.
Check if the reason code is initial
IF NOT w_zscs_record_mod-kongr IS INITIAL.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = w_zscs_record_mod-kongr
IMPORTING
output = w_zscs_record-kongr.
ENDIF.
Assign the values
w_zscs_record-hkont = w_zscs_record_mod-hkont.
CALL FUNCTION 'CONVERSION_EXIT_ABPSP_OUTPUT'
EXPORTING
input = w_zscs_record_mod-projk
IMPORTING
output = w_zscs_record-projk.
w_zscs_record-werks = w_zscs_record_mod-werks.
w_zscs_record-matnr = w_zscs_record_mod-matnr.
w_zscs_record-zcptp = w_zscs_record_mod-zcptp.
w_zscs_record-cpudt = w_zscs_record_mod-cpudt.
Concatenate KONGR,HKONT & PROJK value to make an unique combination to populate the separete
internal table relevant for posting through BAPI and MR22 transaction
CONCATENATE w_zscs_record-kongr w_zscs_record-hkont w_zscs_record-projk INTO v_rec.
IF v_tabix NE 1.
IF v_rec1 = v_rec.
v_count = v_count. "#EC NEEDED
ELSE.
v_count = v_count + 1.
ENDIF.
ENDIF.
Populate the set number into the two different internal table
relevant for posting through BAPI and MR22 transaction
w_zscs_record-set = v_count.
If the KONGR (Reason code) value is equal to 'E' then the
posting will be occur through standard BAPI
IF w_zscs_record-kongr = c_e.
APPEND w_zscs_record TO i_bapi.
If the KONGR (Reason code) value is not equal to 'E' then the
posting will be occur through MR22 transaction code
ELSEIF w_zscs_record-kongr NE c_e.
APPEND w_zscs_record TO i_bdc.
ENDIF.
v_rec1 = v_rec.
Clear the memory
CLEAR: w_zscs_record,
v_rec.
ENDLOOP.
ENDIF.
endform. " POPULATE_BAPI_BDC
*& Form POST_BAPI
text
form POST_BAPI .
Local structre declaration
TYPES:
Structre for populating record id
BEGIN OF lt_recid,
recid TYPE zderecid,
END OF lt_recid,
Structre for table PRPS
BEGIN OF lt_prps,
pspnr TYPE ps_intnr, "WBS Element
posid TYPE ps_posid, "Work Breakdown Structure Element (WBS Element)
pgsbr TYPE ps_pgsbr, "Business area for WBS element
func_area TYPE fkber, "Functional Area
END OF lt_prps .
Local data declaration
DATA: lw_bapi TYPE t_zscs_record,
lw_bapi1 TYPE t_zscs_record,
lw_recid TYPE lt_recid,
li_recid TYPE STANDARD TABLE OF lt_recid, "#EC NEEDED
li_prps TYPE STANDARD TABLE OF lt_prps,
lw_prps TYPE lt_prps,
li_temp TYPE STANDARD TABLE OF t_zscs_record,
li_temp1 TYPE STANDARD TABLE OF t_zscs_record,
li_bapi TYPE STANDARD TABLE OF t_zscs_record,
li_bapi_m TYPE STANDARD TABLE OF t_zscs_record_m,
lw_bapi_m TYPE t_zscs_record_m,
li_skat TYPE STANDARD TABLE OF t_skat,
li_skat1 TYPE STANDARD TABLE OF t_skat,
li_skat2 TYPE STANDARD TABLE OF t_skat,
lw_temp TYPE t_zscs_record,
li_autoinv TYPE STANDARD TABLE OF t_zsct_autoinv,
lw_autoinv TYPE t_zsct_autoinv,
lv_count TYPE numc10,
lw_skat TYPE t_skat,
lw_skat1 TYPE t_skat, "#EC NEEDED
lw_skat2 TYPE t_skat, "#EC NEEDED
lv_count1 TYPE numc10,
lw_index TYPE sy-index.
Assigning the I_BAPI data to a local internal table
li_temp[] = i_bapi[].
li_bapi[] = i_bapi[].
li_temp1[] = i_bapi[].
Sort the internal table by SET
SORT i_bapi BY set.
Sort the internal table LI_TEMP by SET
SORT li_temp BY set.
Delete adjacent duplicates from LI_TEMP compring SET
DELETE ADJACENT DUPLICATES FROM li_temp COMPARING set.
Sort the internal table LI_TEMP1 by PROJK
SORT li_temp1 BY projk.
Delete adjacent duplicates from LI_TEMP1 compring PROJK
DELETE ADJACENT DUPLICATES FROM li_temp1 COMPARING projk.
Sort the internal table LI_BAPI by HKONT
SORT li_bapi BY hkont.
Delete adjacent duplicates from LI_BAPI compring HKONT
DELETE ADJACENT DUPLICATES FROM li_bapi COMPARING hkont.
Check if the li_bapi is initial or not
IF NOT li_bapi[] IS INITIAL.
Retrieve the text information from database table SKAT
for all the G/L Account relevant to LTSH Overland Clearing Account/
Transformation Clearing / Stevedoring Clearing Account / Bagging Clearing Account
SELECT spras "#EC CI_SGLSELECT
ktopl
saknr
txt50
FROM skat
INTO TABLE li_skat
FOR ALL ENTRIES IN li_bapi
WHERE spras = c_e
AND saknr = li_bapi-hkont
AND ( txt50 LIKE c_bag
OR txt50 LIKE c_ltsh
OR txt50 LIKE c_trnsf
OR txt50 LIKE c_ste
OR txt50 LIKE c_mat ).
IF sy-subrc EQ 0.
SORT li_skat1 BY saknr.
ENDIF.
Spiliting the internal table with respect to the TXT50
LOOP AT li_skat INTO lw_skat.
v_txt50 = lw_skat-txt50.
TRANSLATE v_txt50 TO UPPER CASE. "#EC SYNTCHAR
IF v_txt50 CS c_mat1 AND
v_txt50 CS c_rev.
Internal table regaring all the G/L Account relevant to Material revolution Account
APPEND lw_skat TO li_skat2.
ELSE.
Internal table regaring all the G/L Account relevant to LTSH Overland Clearing Account/
Transformation Clearing / Stevedoring Clearing Account / Bagging Clearing Account
APPEND lw_skat TO li_skat1.
ENDIF.
CLEAR: lw_skat,
v_txt50.
ENDLOOP.
REFRESH: li_skat.
Retrieve required data from custom table ZSCT_AUTOINV
SELECT saknr
fipos
geber
saknr_off
fipos_off
FROM zsct_autoinv
INTO TABLE li_autoinv
FOR ALL ENTRIES IN li_bapi
WHERE saknr = li_bapi-hkont.
IF sy-subrc = 0.
Sort li_autoinv by GEBER
i_autoinv1 = li_autoinv.
SORT li_autoinv BY geber.
Delete adjacent duplicates from li_autoinv comparing GEBER
DELETE ADJACENT DUPLICATES FROM li_autoinv COMPARING geber.
ENDIF.
IF NOT li_autoinv[] IS INITIAL.
Retrieve required data from database table FMBDT
SELECT rldnr
rrcty
rvers
ryear
robjnr
cobjnr
sobjnr
rtcur
drcrk
rpmax
rfund
rfundsctr
rmeasure
FROM fmbdt "#EC CI_NOFIRST
INTO TABLE i_fmbdt
FOR ALL ENTRIES IN li_autoinv
WHERE ryear = p_pstdat+0(4)
AND rfund = li_autoinv-geber.
ENDIF.
IF sy-subrc = 0.
SORT i_fmbdt BY rfund.
ENDIF.
ENDIF.
Populate the internal table with the modified WBS element
value for further processing
LOOP AT i_bapi INTO w_bapi.
lw_bapi_m-recid = w_bapi-recid.
lw_bapi_m-zerrf = w_bapi-zerrf.
lw_bapi_m-cpudt = w_bapi-cpudt.
lw_bapi_m-kongr = w_bapi-kongr.
lw_bapi_m-hkont = w_bapi-hkont.
lw_bapi_m-projk = w_bapi-projk.
lw_bapi_m-werks = w_bapi-werks.
lw_bapi_m-matnr = w_bapi-matnr.
lw_bapi_m-zcptp = w_bapi-zcptp.
lw_bapi_m-belnr = w_bapi-belnr.
lw_bapi_m-zerrc = w_bapi-zerrc.
lw_bapi_m-zertx = w_bapi-zertx.
lw_bapi_m-set = w_bapi-set.
APPEND lw_bapi_m TO li_bapi_m.
CLEAR: lw_bapi_m.
ENDLOOP.
Sort LI_BAPI_M by WBS element
SORT li_bapi_m BY projk.
Delete adjacent duplicates from LI_BAPI_M comparing WBS element
DELETE ADJACENT DUPLICATES FROM li_bapi_m COMPARING projk.
Check if LI_BAPI_M is initial
IF NOT li_bapi_m[] IS INITIAL.
Retrieve the required data from table PRPS for all the
WBS element
SELECT pspnr
posid
pgsbr
func_area
FROM prps
INTO TABLE li_prps
FOR ALL ENTRIES IN li_bapi_m
WHERE posid = li_bapi_m-projk.
IF sy-subrc = 0.
SORT li_prps BY posid.
ENDIF.
ENDIF.
lw_index = 1.
LOOP AT li_temp INTO lw_temp.
w_temp = lw_temp.
clearing workares
CLEAR: w_bapiheader,
lv_count,
v_amt.
****Populating the BAPIHEADER*******
Reference Transaction
w_bapiheader-bus_act = c_bkpf.
User Name
w_bapiheader-username = sy-uname.
Document Header Text
w_bapiheader-header_txt = text-020.
Company Code
w_bapiheader-comp_code = c_wfp.
Document Date in the Document
w_bapiheader-doc_date = p_pstdat.
Posting Date in the Document
w_bapiheader-pstng_date = p_pstdat.
Fiscal Year
w_bapiheader-fisc_year = p_pstdat+0(4).
Fiscal Period
w_bapiheader-fis_period = p_pstdat+4(2).
Document Type
w_bapiheader-doc_type = c_sa.
Reference Document Number
w_bapiheader-ref_doc_no = sy-datum.
Initialize the counter
lv_count = 1.
lv_count1 = 1.
LOOP AT i_bapi INTO lw_bapi FROM lw_index.
IF lw_temp-set NE lw_bapi-set.
lw_index = sy-tabix.
EXIT.
ELSE.
lw_bapi1 = lw_bapi.
CLEAR: v_pspid.
READ TABLE li_prps INTO lw_prps WITH KEY posid = lw_bapi-projk BINARY SEARCH.
IF sy-subrc = 0.
w_accoutgl-bus_area = lw_prps-pgsbr.
w_accoutgl-func_area = lw_prps-func_area.
ENDIF.
*****Populating the internal table regarding G/L account item***********
w_accoutgl-itemno_acc = lv_count.
w_accoutgl-acct_key = c_ags.
w_accoutgl-acct_type = c_s.
w_accoutgl-grant_nbr = text-019.
w_accoutgl-wbs_element = lw_bapi-projk.
READ TABLE i_autoinv1 INTO lw_autoinv WITH KEY saknr = lw_bapi-hkont.
IF sy-subrc = 0.
Get the information for the G/L accounts relevant for LTSH OVERland Clearing account or
Transformation Clearing Account Stevedoring Clearing Account or Bagging Clearing Account
READ TABLE li_skat1 INTO lw_skat1 WITH KEY saknr = lw_autoinv-saknr BINARY SEARCH.
IF sy-subrc = 0.
w_accoutgl-gl_account = lw_bapi-hkont.
IF NOT lw_autoinv-fipos EQ space.
CALL FUNCTION 'CONVERSION_EXIT_FMCIS_INPUT'
EXPORTING
input = lw_autoinv-fipos
IMPORTING
output = w_accoutgl-cmmt_item.
ELSE.
w_accoutgl-cmmt_item = lw_autoinv-saknr.
ENDIF.
w_currency-amt_doccur = lw_bapi-zcptp * ( -1 ).
ENDIF.Debug. and find the problem . since you are not using the standadrd tables , they are custom tables. so try to find the reason using debugging. may be you don't have data which satisfies the selection criteria.
-
F101 list contain no data in posting tab
I have made the configuration for OBBV and OBBU for Chart of Accounts. When I execute F101 for regrouping of customers and vendors and tick generate postings, the list is getting generated. When I click the tab "Postings" it shows "Posting in Batch input session, List contains no data). There is no batch input session being created in order to post them in SM35.
Please let me know whether there are any steps that are missing.
Thanks,
ImdadHi
Is there anyone who can answer me
regards -
Doc type AB - List contains no Data
Hi SAP team,
I am facing an issue that I could not find a similar one in here.
When FB03 is displayed, no items are shown. It shows, however, List Contains no Data.
In the Header option, I can view that the documents were entered by a Batch ID under t_code FBS1
Document Header Text says: Autom. Clearing SAPF124
Document Status B
Can anyone shed any light as to why FB03 has nothing (this has been happening for many years) and what is the meaning of Doc Status B ?
This is not a layout issue as many threads have mentioned. This must be something else that the Batch ID is running.
Any help is welcome
Regards
RogerThank you for your valuable input.
One topic only needs clarification.
Any idea of what Document Status A and Status B means?
(you can see this A B status in the header icon - FB03)
Regards,
Rogerio -
Spark list horizontal scroller doesn't actualize when rows is set lesser than list container
Hello,
The size of the Image control is set larger than that of its parent Group container. By default, the child extends past the boundaries of the parent container. Rather than allow the child to extend past the boundaries of the parent container, the Scroller specifies to clip the child to the boundaries and display scroll bars.
In the spark list, when I change the list dataProvider and the size of the Image control is set lesser than that of its parent Group container, the horizontal scroller doesn't actualize.
thanks.<!-- Simple example to demonstrate the Spark List component -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" applicationComplete="comp()" width="260" height="400">
<fx:Script>
<![CDATA[
import mx.collections.*;
public var dpArray:Array;
[Bindable]
public var dpCol:ArrayCollection;
public function handleClick():void {
dpCol.removeAll();
dpCol.addItem({ label:"spark test" });
dpCol.addItem({ label:"spark text" });
public function comp():void {
dpCol = new ArrayCollection(dpArray);
dpCol.addItem({ label:"spark list horizontal scroller doesn't actualize when rows is set lesser than list container" });
dpCol.addItem({ label:"spark test" });
dpCol.addItem({ label:"spark text" });
]]>
</fx:Script>
<s:Panel title="List">
<s:VGroup left="20" right="20" top="20" bottom="20">
<s:List width="200" id="lis" dataProvider="{dpCol}" height="120"/>
<s:Button id="button1" label="Click here!" width="100" fontSize="12" click="handleClick();"/>
</s:VGroup>
</s:Panel>
</s:Application> -
Hi All,
i have a SharePoint list, that list contains photos(images).
now i want display that images in spgridview.
How can i display?
Thanks in advance!Hi,
According to your post, my understanding is that you want to display that images in spgridview.
You can use a hyperlinkfield that is bound to the SPGridView. Please refer to:
Add a Hyperlink Image in a SPGridView
You can also use TemplateField or ImageField to render images. Please refer to:
Image not showing in grid view
In addition, here are two similar articles for your reference:
How To: Use SharePoint 2010 WebParts with a GridView Control to get SQL Image Data
type and other Values
DotNetSharePoint: How to display images in gridview from database using asp.net
Best Regards,
Linda Li
Linda Li
TechNet Community Support -
AFAB error List contains no data
Depn Run:
TC: NAFAB
Fiscal Year 2010
Period 12
Select Planned Posting run
Deselect Test Run
From the menu top Select program>executing Background
Output Device: LP01
Enter
Select immediate button
Select Save button
Note down the job Name RAPOST2000
From the menu Select System>Services>Jobs>Job overview
Type job name RAPOST2000
Execute.
Select the Job (check box)
Select the Spool Button
Select the spool No. (check box)
Select Display Content button (Spects Icon)
Here it shows LIST CONTAINS NO DATA
I Checked in AFBP I got the error
Period 012 is already posted
Message no. AAPO520
Diagnosis
You want to run the next planned run of the depreciation posting run in period 012. However, the last planned posting run was already performed for period 012.
System Response
The planned posting run cannot be performed. Processing terminates.
Procedure
You can either execute a repeat run in period 012, or a planned or unplanned run in a later period.
I have to run depreciation for period 12
Please help me to solve this issue
RegardsDear sir,
Thanks for your suggestion
I am getting this error
Field Cost Ctr is a required field for G/L account
Message no. F5808
Diagnosis
The value for field "Cost Ctr" in the interface to Financial Accounting is an initial value but you are required to make an entry in the field selection for G/L account in company code linked to the field selection for posting key "40".
System Response
Error
Procedure
It might be an error in the configuration of the G/L account field selection. The initial application, used to call up the interface must otherwise define a value for field "Cost Ctr". If this is the case, contact the consultant responsible for the application used to call up the interface or get in contact with SAP directly.
Please help me to solve this issue -
hi
can any one help me , i am getting frm-41214 when i pass a paramter list containing record group as data parameter to run_report_object as parameter, calling report from forms 10g, but when i dont pass the parameter list the report runs displaying no data(as it should do), otherwise it dont run and display the frm-41214
zulfiqarHi,
Try using a lexical parameter(&parm_1) for a string of values or a bind parameter(:parm_1) for a single value
Thanks,
Kimosabe -
How to make List.contains(Object) work when you write your own .equals func
I have a list of objcts of a class defined by me. I want to use the List.contains(String name) function to tell me if it contains an object of that name. I have overriden the .equals function as shown in [1]. I then use the code at [2] to to test it, with a bit of debugger output as shown in [3]. It is not working, my overriden method is not getting called by List.contains(String name).
Can anyone tell me how to get this to work?
[1] @Override public boolean equals(Object esId) {
if(esId.getClass().isAssignableFrom(String.class)) {
System.out.println("object name " + this.eslimId + " compare to " + esId + " = " + this.eslimId.equals(esId));
return this.eslimId.equals(esId);
} else {
System.out.println("wrong class");
return super.equals(esId);
}[2] graphics.getProcedures() returns private List<ProcedureGraphicSet> procedures;
System.out.println( " graphics.getProcedures().get(0).equals(\"ESLIM_009\")= " + graphics.getProcedures().get(0).equals("ESLIM_009"));
System.out.println( " graphics.getProcedures().contains(\"ESLIM_009\")= " + graphics.getProcedures().contains("ESLIM_009"));[3]
object name ESLIM_009 compare to ESLIM_009 = true
graphics.getProcedures().get(0).equals("ESLIM_009")= true
graphics.getProcedures().contains("ESLIM_009")= falseThis is a gross violation of the contract for the equals method, and you are basically getting bitten by that. The equals method must be symmetric, meaning this must hold for all objects A and B:
A.equals(B) == B.equals(A)This does not hold for your equals method because for any string A and custom object B:
A.equals(B) == falseAnd, apparently, the List.contains() method is choosing to compare objects that way.
You must iterate through the list and check the names yourself, or use some sort of functional package which provides a List.contains() type method which takes a Predicate object of some sort.
Edited by: jtahlborn on Feb 11, 2008 11:03 AM
Edited by: jtahlborn on Feb 11, 2008 11:03 AM -
I have a SharePoint list, that list contains text attachments and image attachments.
Hi All,
i have a SharePoint list, that list contains text attachments and image attachments.
Now, i want to retrive only image attachments from that list.
here my doubt is, how to check is it image attachment or text attachments
foreach(var attachment in attachments)
//what i have to write here
Thanks in advance!Hi,
While looping for an attachments . Check for attachment extension with (.jpg,png,etc..,).then you can do whatever you want
SPListItem myListItem = list.GetItemById(1);
foreach (String attachmentname in myListItem.Attachments)
//Check for extension
Please mark as an answer/helpful , if is useful to you.
Mahesh -
How to check if a list contains items from another list
Hi all,
I am trying to check whether a text list contains items form
another list and then do something. I tried:
tlist contains text phrases (e.g., test1,test2,test3)
phrases = ["test1","test2"]
n = phrases.count()
tList.getPos(phrases.item[n])
alert("should not be inluded in the list")
But it is not working any ideas why?myPhrase is the loop index, but instead of a numerical index
(like n in your sample), myPhrase is set equal to each item in the
phrases list, first item to last. So, on the first iteration
myPhrase = “test1”, on the second iteration myPhrase =
“test2”. The loop automatically exits when the end of
the list is reached. The Director help docs have more information
on this syntax under “repeat”
BTW: if you're more comfortable using a numerical index, the
syntax for getting at the n-th item in a list is list[n], or in
your sample phrases[n] -
Iterate through a list containing Map items using struts
Hi friends,
I have a small problem. I want to iterate through a list of items, using struts.
The list actually contains map structres for example:
list(0)
map(..key..value..)
map(..key..value..)
map(..key..value..)
list(1)
map(..key..value..)
map(..key..value..)
map(..key..value..)
list(2)
map(..key..value..)
map(..key..value..)
map(..key..value..)can I use <logic:iterate/> for this? if yes how? Because I have used this tag for list containing bean objects not Map.
Any suggestions are much appreciated.
Thanks,
VishalNormally, each object exposed by the iterate tag is an element of the underlying collection you are iterating over. However, if you iterate over a Map, the exposed object is of type Map.Entry that has two properties:
key - The key under which this item is stored in the underlying Map.
value - The value that corresponds to this key.
So, if you wish to iterate over the values of a Hashtable, you would implement code like the following:
<logic:iterate id="element" name="myhashtable">
Next element is <bean:write name="element" property="value"/>
</logic:iterate>
Best Regards
Maruthi -
ALV report -How to display list contains no data?
Hi Experts,
I have developed an drill down alv report ? I like to display if 'List contains no data ' or 'No data to display' in Grid itself when there is no data to dissplay instead of an Message ?how can i do that?hi
u should have used this command before calling your grid or list
if gt_itab[] is not initial. --> comment this
call function reuse or call method
endif.
assuming you have given a top of page for your grid output
if helpful, reward
Sathish. R -
Click-edit behavior of List-container items
Hi,
Sorry if it has been asked, but I couldnt find it. I would
like to know if it is possible to start editing an item in a
List-container when a user double-clicks. With default settings it
starts editing on a single click. I couldnt find anything in the
documentation. How can I change this behaviour?
Also, is it possible to set the focus on a List-container
item in edit mode? What I mean is that I could implement a
double-click event-handler that changes the List-conatiner from
not-editable to editable and then put the double-clicked item in
edit-mode. Is this possible? Than I could implement my desired
double-click-edit behaviour easily.
Thank you!
Andrejkokot-san,
I was trying to find an answer to the same issue. I never
found anything in the documentation either. After walking through
the Tree and List class a bit I came up with this. Here is an
example where the Tree is not editable and double clicking a node
will allow you to rename it.
tree.addEventListener( ListEvent.ITEM_DOUBLE_CLICK,
itemDoubleClick );
tree.addEventListener( ListEvent.ITEM_EDIT_END, itemEditEnd
private function itemDoubleClick( event:ListEvent=null
):void
tree.editable = true;
tree.editedItemPosition = {rowIndex:tree.selectedIndex};
private function itemEditEnd( event:ListEvent=null ):void
tree.editable = false;
- Jankrod
Maybe you are looking for
-
Can not edit photos - cannot see photos after import from camera
Hello all - Im having a very frustrating time getting Iphoto to work. First is that I can not edit photos double clicking photo - does not launch edit mode select photo and click edit pencil - does not launch edit mode Sometimes, however, edit mode i
-
Current wireless network is Time Capsule (connected to a Cisco router, 1GB switch to servers and printer 1) to Airport Express (wireless) and to Airport Extreme (wireless). Distance means poor signal at the Extreme which has 2 printers (ethernet cabl
-
Ipod not compatible with os 10.3.9
I purchased a new ipod nano and it is unable to run on my system. I currently have a g4 desktop running 10.3.9 with itunes 7.4. I am looking to replace my nano 1st generation since the battery life does not last very long. Right now I can't purchase
-
I'm using AS2 and fps120. I'm creating a tetris game, but I encountered a problem: I made a function which makes the block go directly to the bottom on the press of "space". I used if(Key.isDown(Key.SPACE)){ But when I pressed space, the blocks stack
-
I can't figure out why the subVI will not read this one particular variable from the main VI. How can I figure out how to make sure these two VI's are communicating properly?