Numero da linha - Grid - SAP
Bom dia amigos! Sou novo aqui no forum SAP e gostaria de obter ajuda de vocês se possivel.
Estou parametrizando o SAO Business One juntamente com um consultor SAP. Surgiu a necessidade de obter o numero da coluna que se encontra nos grids do SAP, ou seja, aquela coluna que tem a descrição igual "#".
Bom, o que eu estou precisando é o seguinte:
Na tela de Estrutura do produto, na linha da estrutura, criei um campo de usuário, onde nesse campo é preenchido com informações especificas da empresa para esse item. Na tela de OP, criei o mesmo campo de usuario, para que quando eu abrir uma O.P para essa estrutura, através de uma consulta formatada, eu consiga trazer para esse campo as informações que o usuario colocou na estrutura.
O problema é o seguinte: Para cada linha da estrutura, eu posso ter uma informação diferente nesse campo do usuario, e pode ser também que eu tenha itens repetidos na estrtura, ou seja, o mesmo item varias vezes por razoes de politica e da engenharia da empresa, por exemplo:
ChildNum........Item................Descrição...............CampoUsuario....................Qtde
1....................00001............Item Teste ABC........Item para Teste1..................01
2....................00002............Item Teste ZZZ........Item Teste.............................01
3....................00010............Item Teste 888.........Item Teste do Usuario ..........03
4....................00001............Item Teste ABC........Item para Teste2a.................01
5....................00001............Item Teste ABC........Item para TesteZZZ..............01
ou seja, o Item 00001 tenho 3 vezes nessa estrutura, porem a o CampoUsuario tem a descrição diferente mesmo sendo o mesmo item, certo?
O que eu preciso, é quando eu lançar uma OP para essa estrutura, fazer um select em uma consulta formatada no campo do usuario e trazer essa informação do CampoUsuario para a linha correspondente na O.P. Na tabela de itens da estrutura (ITT1), temos o campo ChildNum onde é guardado o numero da linha da estrtura. Na tabela de itens da OP (WOR1), tambem tem um campo que é guardado o numero da linha (LineNum), porem esse campo só é preenchido depois de gravar no banco de dados, ou seja, não tenho como fazer a verificação do campo ITT1.ChildNum com o WOR1.LineNum, pois como eu disse, o campo WOR1.LineNum está em branco no momento do lançamento. Tbem nao posso fazer a verificação pelo codigo do item, pois se eu fizer pelo codigo (no caso do item 00001) me traria 3 resultados: "Item para Teste1", "Item para Teste2a" e "Item para TesteZZZ". Então, para resolver esse problema eu pensei em fazer um select na tabela de estrtura do item, veriricando o numero da coluna (#) com o campo ChildNum da tabela ITT1. Alguem saberia me dizer como pegar o valor da coluna do Grid (#)? espero nao ter sido confuso na minha explicação.... desde ja, muito obrigado...
's
Otávio
Só para completar, esse Select abaixo foi o que eu comentei em meu post, onde ele funcionaria somente depois de gravar a Ordem de Produção:
SELECT T0.U_U_LG_DENOM
FROM ITT1 T0
WHERE T0.FATHER = $[OWOR.ITEMCODE]
AND T0.CHILDNUM = $[WOR1.LINENUM]
Obs: o campo "U_U_LG_DENOM" é o campo de usuário criado na tabela ITT1.
Obrigado pessoal.
's
Otávio
Edited by: otaviolussari on Nov 21, 2011 12:49 PM
Similar Messages
-
I need to have a static data structure inside my aplication. So, I'm trying to implement a class that simulates the behaviour of a table, with all its methods, like 'addRow', 'delRow'. A structure a little like a Recordset object in other languages, but not connected to any database, only the structure with methods and properties. I really believe that someone in the world has already done that. Does anyone know if it really exists and where i can get it? Thanks a lot.
I got it. I finally got to have it implemented. In case somebody should need it, here it goes:
Classe que implementa ResultSet offline
Esta classe serve como um objeto ResultSet offline. Isso quer dizer que o usu�rio
poder� instanciar um objeto desta classe, fechar a conex�o com o banco de dados e
continuar acessando o conte�do do ResultSet fechado com a conex�o.
Depois de compilado, copiar este arquivo para D:\j2sdk1.4.0\lib\tabela
package tabela;
import java.lang.*;
import java.util.*;
import java.sql.*;
public class rstOff {
//Vari�vel que guarda a quantidade de colunas existentes no ResultSet
private int numberOfColumns;
//Vari�vel que guarda o n�mero de linhas existentes no ResultSet
private int numberOfRows = 0;
//Vari�vel que guarda a linha ativa do rstOff
private int POS;
//Este array de vetor � a tabela onde ficar�o guardados os campos do ResultSet
private Vector[] vcBase;
public rstOff(ResultSet rst) {
// int numberOfRows;
try {
//Descobre o n�mero de campos que o ResultSet possui
numberOfColumns = getNumOfColumns(rst);
System.out.println("N�mero de colunas igual a " + numberOfColumns);
//Inicializa a tabela para a qual o ResultSet ser� copiado
inicializa();
//Faz a c�pia de todos os campos do ResultSet para a tabela inicializada
copia(rst);
POS = 0;
} catch(Exception e) {
public rstOff() {
numberOfColumns = 4;
inicializa();
for(POS=0;POS<2;POS++) {
vcBase[0].add(POS, "a" + POS);
vcBase[1].add(POS, "b" + POS);
vcBase[2].add(POS, "c" + POS);
vcBase[3].add(POS, "d" + POS);
POS=0;
System.out.println(POS);
//Inicializa as vari�veis globais
private void inicializa() {
//Inicializa a vari�vel que percorre o ResultSet com 0
POS = 0;
//Define o tamanho do array de vetores
vcBase = new Vector[numberOfColumns];
//Instancia cada um Vector em cada uma das posi��es do array de vetores
for(int count = 0;count<numberOfColumns;count++) {
vcBase[count] = new Vector();
// vcBase[count].add("Deu certo");
System.out.println("Objeto instanciado");
//Copia todos os campos do ResultSet para a tabela offline
private void copia(ResultSet rstCopia) throws SQLException {
//Move o cursor do ResultSet para antes da primeira linha porque
//ser� utilizado o m�todo next()
rstCopia.beforeFirst();
//Percorre todas as linha do ResultSet com o m�todo next()
while(rstCopia.next()) {
// System.out.println("O numero de linhas e " + numberOfRows);
numberOfRows++;
//Percorre todas as colunas do ResultSet dentro da mesma linha
for(int j=0;j<numberOfColumns;j++) {
//Faz a c�pia de cada campo na linha para a tabela offline
//O m�todo add insere o elemento na �ltima posi��o automaticamente
//Como se fosse "vcBase[j].add(ULTIMAPOSICAO, rstCopia.getObject(j));"
// System.out.println(rstCopia.getObject(j+1));
vcBase[j].add(rstCopia.getObject(j+1));
System.out.println("N�mero de linhas igual a " + numberOfRows);
//Recebe o ResultSet como par�metro e devolve a quantidade de colunas do ResultSet
private int getNumOfColumns(ResultSet rstNumOfColumns) throws SQLException {
ResultSetMetaData rsmd = rstNumOfColumns.getMetaData();
return rsmd.getColumnCount();
//Recebe a coluna da linha ativa e retorna o valor
public Object getValue(int column) {
// System.out.println(POS);
return vcBase[column].get(POS);
public boolean next() {
if(POS<numberOfRows) {
POS++;
return true;
} else {
return false;
public boolean previous() {
if(POS>-1) {
POS--;
return true;
} else {
return false;
public boolean first() {
POS = 0;
return true;
public boolean last() {
POS = numberOfRows-1;
return true;
public boolean beforeFirst() {
POS = -1;
return true;
public boolean afterLast() {
POS = numberOfRows;
return true;
public int rowCount() {
return numberOfRows;
public int columnCount() {
return numberOfColumns;
public int absolutePosition() {
return POS;
Any questions, email me: [email protected]
Thanks for everything. -
History list in an ALV editable cell
Hello
I am trying to have a history list in my ALV editable cells as per described in the ALV Grid SAP documentation but I am unable to do so. The documentation indicates that u201Cif the cursor is on the first item cell you can use Backspace to call up a history listu201D.
I created a screen containing regular standard fields in the upper portion of the screen and I added an ALV grid (split into 3 sections) in the low part of the screen. The ALV contain several editable cells. The history list works very well for the regular fields on the screen but I cannot get the history list working for any of the editable cells in the ALV.
I have defined the field catalog for the editable cells as follows (including the AUTO_VALUE field):
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'SERNR'.
wa_fieldcat-reptext = text-002.
wa_fieldcat-edit = 'X'.
wa_fieldcat-auto_value = 'X'.
wa_fieldcat-checkbox = ' '.
wa_fieldcat-hotspot = ' ' .
wa_fieldcat-dd_outlen = ' '.
wa_fieldcat-icon = ' '.
wa_fieldcat-no_zero = 'X'.
APPEND wa_fieldcat TO it_fieldcat_notif.
I then generate the 3 splitted ALV as follows:
zlayout_header-grid_title = 'Repair Order and Delivery'.
zlayout_header-no_toolbar = 'X'.
zlayout_header-stylefname = 'CELLTAB'.
CALL METHOD ob_grid1->set_table_for_first_display
EXPORTING
is_variant = ls_vari
i_default = ' '
i_save = 'A'
is_layout = zlayout_header
CHANGING
it_fieldcatalog = it_fieldcat_repair
it_outtab = t_repair[].
zlayout_header-grid_title = 'Notification'.
zlayout_header-no_toolbar = 'X'.
zlayout_header-stylefname = 'CELLTAB'.
CALL METHOD ob_grid2->set_table_for_first_display
EXPORTING
is_variant = ls_vari
i_default = ' '
i_save = 'A'
is_layout = zlayout_header
CHANGING
it_fieldcatalog = it_fieldcat_notif
it_outtab = t_notif[].
zlayout_header-grid_title = 'Service Order'.
zlayout_header-no_toolbar = 'X'.
zlayout_header-stylefname = 'CELLTAB'.
CALL METHOD ob_grid3->set_table_for_first_display
EXPORTING
is_variant = ls_vari
i_default = ' '
i_save = 'A'
is_layout = zlayout_header
CHANGING
it_fieldcatalog = it_fieldcat_service
it_outtab = t_service[].
I searched forums and OSS notes but I could not find any more information (except for the ALV Grid u2013 SAP Documentation) about the history list for editable ALV cells. Currently, our application utilizes table controls in the lower part of the screen and the history list works well for the cells in the table control. However, when I replace the table control for an ALV grid, I can no longer use the history list for those cells.
Any help would be appreciated.Looks like the 2006 OSS note 825068 indicates the history list function is not supported for ALV grid.
-
How to add check box in SAP B1 grid controls..
hi all,
Anyone know how to add check box in SAP grid control?
It will be great if you could show me some sample code.
thanks.
regards,
sohchHi Sohch,
1. First of all you should define the Column in a matrix as it_CHECK_BOX. Like
oColumns = oMatrix.Columns
oColumn = oColumns.Add("chk_YesNo", SAPbouiCOM.BoFormItemTypes.it_CHECK_BOX)
oColumn.TitleObject.Caption = "YesNo"
oColumn.Width = 60
oColumn.Editable = True
2. Bind it with a DBDataSource as defined
oColumn = oColumns.Item("chk_YesNo")
oColumn.DataBind.Bind("UDTable", "U_YesNo")
3. Make Sure that the value that is being put into the Database is either 'Y' or 'N'.
Hope this Helps
Rizwan Hafeez
Team Lead
SAP Addon Development Section
Abacus Consulting - Pakistan -
Is it possible to display external data in SAP B1 Grid?
Hi,
If the data reside in SAP B1 DB, it is normal. But if I have some data outside of SAP B1, for example in our old ERP system which is also a MS SQL db. Can I display it a SAP B1's grid? Reading external data shouldn't be a problem, but can I display it in a standard SAP B1 grid? I checked Grid object all method or properties, seems no way to load an external data source or manually create column and rows. Any idea?
Thanks,
LanHi Gordon,
Thanks for your reply. Can you describe more detail about how to map an UDF to other DB? I check the UDF management menu, I didn't see any menu which allows me to link to external DB. The only similar option is you can set a linked table for the UDF, but that only applies to the UDO table inside SAP B1 DB. Also, UDF is just a field and usually my external data is a query which returns me rows with mutiple columns. I tried the UDO table, nothing can be found to allow me connecting to an external DB.
Thanks,
Lan -
How to add a check box in ALV Grid using SAP R/3 release 4.6b?
Hello everyone,
I hope you all fine.
I'm writing because I have a requirement with ALV Grid, what I need to do, is to insert a checkbox into a cell, I already read the forum to know how to do that, but I'm using a SAP R/3 release 4.6b, and when I execute the program the checkbox is displayed greyout, because this release doesn't have the EDIT property into the slis_t_fieldcat_alv.
Does any body know how to enable the checkbox cell in the ALV Grid for this release?, so it will allow the user to mark the desired rows.
I'll really appreciate if you guys could help me to find a solution.
Thanks for your time.
Regards,
GuillermoHi,
if you need just a check box for each line, try to get rid of this line from your layout.
g_layout-box_fieldname = 'ZZCHECK'.
SAP uses this field to store info about selected lines. Hence you click on the second check box, you select different line and the first line is erased. You can select more line by holding SHIFT + CTRL
Cheers -
Create standard sap "SAVE" button along with ALV grid buttons
I need to create a standard SAP "Save" button in my ALV GRID display in the application tool bard
I copied the PF-Status 'standard' from a SAP program and assinged it here.
When i try to add the SAP save buttion by using this standard pf-status , its not getting displayed in the application tool bar.
But in STandard TOOl bar (in menu painter ) , when i assign save its displayed in the screen .
I need this to be displayed in the application tool ba
Please suggest me how to do this.
Thanks in advance.Hello,
Application of ALV means the place where the buttons(standard for ALV) like sort,add,delete,copy etc are dipslayed.IF u need need to add a save button on the same toolbar/same place u need to copy the standard GUI status of standard ALV program .For that go to SE80 , give the program name as SAPLSLVC_FULLSCREEN
In the GUI status u'll find the status named as STANDARD_FULLSCREEN ....Right click on it and give the "TO Program " as your program.Now once u activate ur program u'll find the same status there.
add ur save button in the status by edidting it. Now u need to write the FORM ENDFORM for user command and assign the form name in caps to the USER_COMMAND parameter in the func module REUSE_ALV_GRID_DISPLAY.
Hope this help.
Regards,
Neeraj -
ALV GRID and Integrated ITS 7 (SAP GUI for HTML) - dissapears on reload
Hi All,
We have a custom report that uses an ALV grid to display information to the user. Within this grid, there are fields that are display only and fields that are editable. Also, the grid is wider than the screen's width. It works fine in ECC. It also worked fine when we were using ITS 6.4.
We have recently upgraded to ITS 7. Now when we run the report using a Transaction iView (in EP 7) or the Webgui service (SAP GUI for HTML), if a field that is editable has focus when an event is triggered that reloads the grid, the screen becomes blank. So, you can click the Save button and the screen goes blank, also, there are date fields in the grid and if you choose a new date, the grid reloads and the screen becomes blank.
We have found that when the screen is blank, you can use the "Page Up" button on your keyboard and the last few columns of the grid will appear. As if the entire grid has moved off-screen to the left.
If you click onto a non-editable field and refresh or save, the grid returns to its normal state.
We are on Basis Patch level 15.
Does anyone have any ideas on how to fix this?
Also, does anyone know of a standard SAP transaction we can call from the Webgui that would have a similar setup...with an ALV grid containing editable and non-editable fields? We would like to rule out any errors in the report itself. Since it worked before we upgraded and it works fine in ECC. This would be a really big help too.
Thank you so much!
-KevinHi,
Thanks Raymond, I have seen Note 314568. I could not get the second link to work but I have looked at just about every Note in reference to Integrated ITS 7 and Tables or ALV Grids and there are very many, so it would appear that SAP has had a hard time with implementing this control, but I have not seen any instance that matches the problem we are having.
Unfortunately, SAP will not investigate this unless we can provide a standard Transaction that exhibits the same behavior.
If anyone knows of a standard SAP Transaction that displays an ALV Grid that is wider than the screen (requiring a horizontal scroll bar) and with editable and non-editable fields, that would be fantastic. If we can test against that, then we would know for sure if this is a problem with ITS / SAP GUI for HTML, or if there is an issue with this specific report.
Thanks!
-Kevin -
What are the prerequisites to monitor SAP ENVIROMENT with grid control
anybody know what are the prerequisites to monitor SAP ENVIROMENT with grid control
its necessary another software
thanksThere's currently no way to monitor a whole SAP system through gridcontrol. Of course you can monitor the underlying database.
Werner -
Query related to alv grid and sap script
Hi All,
I have a requirement where i should read the values which are selected on the alv grid list output and those values i need to display on the script(layout).
Help me out guru's its an urgency...
thanks in advance .
regards
ravi ganjiHi Ravi,
I have done it exactly like your requirement. This program contains ALV and Smartform.
But whatever may be, both are layouts and having driver program. So just finish your driver program and Script layout and then use this program.
I have written this code to print contact letters from VA42. So, modify this code to insert your transaction code.
Let me know if you have any questions.
Here is the code.
REPORT ILETTER MESSAGE-ID CM.
TYPE POOLS (ALV)
TYPE-POOLS:
slis.
Customized Types
TYPES:
BEGIN OF ty_cntrt,
box(1) TYPE c,
kunnr TYPE kunag,
vbeln TYPE vbeln_va,
vbeln1 TYPE vbeln_va,
vposn TYPE posnr,
vuntdat TYPE vudat_veda,
vbegdat TYPE vbdat_veda,
vdemdat TYPE vddat_veda,
venddat TYPE vndat_veda,
END OF ty_cntrt,
single line TYPES
BEGIN OF ty_vkorg,
vkorg TYPE vkorg,
END OF ty_vkorg.
Constants
CONSTANTS:
c_sform TYPE char10 VALUE 'SMARTFORMS',
c_tcode TYPE sy-tcode VALUE 'VA42',
c_mode TYPE c VALUE 'N',
c_updat TYPE c VALUE 'A',
c_batch TYPE sy-callr VALUE 'BATCH',
c_dclick TYPE char10 VALUE '&IC1'.
Internal tables
DATA: it_cntrt TYPE TABLE OF ty_cntrt,
it_bdc TYPE TABLE OF bdcdata,
it_mesg TYPE TABLE OF bdcmsgcoll,
it_const TYPE TABLE OF /SIE/SSG_XCM_CUC,
it_vkorg TYPE TABLE OF ty_vkorg.
Work areas
DATA: wa_cntrt TYPE ty_cntrt,
wa_bdc TYPE bdcdata,
wa_const TYPE /SIE/SSG_XCM_CUC,
w_vbak TYPE vbak,
w_veda TYPE veda,
w_xcm_pr TYPE /sie/ssg_xcm_pr,
w_vkorg TYPE ty_vkorg.
Variables
DATA: l_repid TYPE sy-repid,
l_vakey TYPE vakey,
l_variant TYPE varid-variant,
l_vbeln TYPE i,
l_vkorg TYPE i,
l_vkbur TYPE i,
l_vkgrp TYPE i,
l_ckappl(40) TYPE c,
l_ckschl(40) TYPE c,
l_cauart(40) TYPE c.
Program Constants
DATA: c_kappl TYPE kappl,
c_kschl TYPE kschl,
c_auart TYPE auart,
c_repco TYPE /sie/ssg_xcm_const,
c_value TYPE /sie/ssg_xcm_value.
ALV data declarations
DATA:
gt_fieldcat TYPE slis_t_fieldcat_alv,
gt_tab_group TYPE slis_t_sp_group_alv,
gs_layout TYPE slis_layout_alv,
gs_repid TYPE sy-repid,
gs_sort TYPE TABLE OF slis_sortinfo_alv.
Selection screen
SELECTION-SCREEN BEGIN OF BLOCK indletter WITH FRAME TITLE text-001.
skip one line
SELECTION-SCREEN SKIP.
SELECT-OPTIONS:
contract
so_vbeln FOR w_vbak-vbeln,
category
so_auart FOR w_vbak-auart NO-DISPLAY,
Sales Org
so_vkorg FOR w_vbak-vkorg OBLIGATORY,
Dis Channel
so_vtweg FOR w_vbak-vtweg,
Division
so_spart FOR w_vbak-spart,
Sales Group
so_vkgrp FOR w_vbak-vkgrp,
Sales Office
so_vkbur FOR w_vbak-vkbur OBLIGATORY,
Cancellation Procedure
so_vkues FOR w_veda-vkuesch OBLIGATORY,
Contract Signed Date
so_vuntd FOR w_veda-vuntdat,
created by
so_ernam FOR w_vbak-ernam,
Fixed Indexation formula
so_fnum FOR w_xcm_pr-fnum OBLIGATORY.
skip one line
SELECTION-SCREEN SKIP.
Indexation letter
PARAMETERS: rb_index RADIOBUTTON GROUP radi USER-COMMAND usr.
Follow up report
PARAMETERS: rb_follo RADIOBUTTON GROUP radi.
skip one line
SELECTION-SCREEN SKIP.
Manual processing checkbox
PARAMETERS: p_manpr AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK indletter.
Printer block
SELECTION-SCREEN BEGIN OF BLOCK blk_par WITH FRAME TITLE text-002.
Printer
PARAMETERS: p_print LIKE nast-ldest DEFAULT 'LOCL' OBLIGATORY.
SELECTION-SCREEN END OF BLOCK blk_par.
User selection data validation
AT SELECTION-SCREEN ON so_vkorg.
Ragne for sales org
RANGES: r_vkorg FOR vbak-vkorg.
REFRESH: it_const, r_vkorg.
CLEAR wa_const.
Proceed for execution only for Sales Orgs in /SIE/SSG_XCM_CUC
LOOP AT so_vkorg.
r_vkorg-sign = 'I'.
r_vkorg-option = 'EQ'.
r_vkorg-low = so_vkorg-low.
APPEND r_vkorg.
Check Sales Org intervals entered in the selection screen
IF NOT so_vkorg-high IS INITIAL.
Get all Sales Org for interval
SELECT vkorg FROM tvko INTO TABLE it_vkorg
WHERE vkorg BETWEEN so_vkorg-low AND so_vkorg-high.
IF sy-subrc = 0.
Add all Sales org into one internal table
LOOP AT it_vkorg INTO w_vkorg.
r_vkorg-low = w_vkorg-vkorg.
APPEND r_vkorg.
CLEAR: w_vkorg.
ENDLOOP.
delete repeated records
DELETE ADJACENT DUPLICATES FROM r_vkorg COMPARING low.
ENDIF.
ENDIF.
CLEAR r_vkorg.
ENDLOOP.
Get Sales Org entries maintained in /SIE/SSG_XCM_CUC
l_repid = sy-repid.
Check Sales Org is maintained for Renewal Letter?
LOOP AT r_vkorg.
concatenate constant with Sales Org
CONCATENATE 'INX_LETTER_CREATE_' r_vkorg-low INTO c_repco.
Get constant
SELECT SINGLE value
FROM /sie/ssg_xcm_cuc
INTO c_value
WHERE repid = l_repid
AND const = c_repco
AND vkorg EQ so_vkorg-low.
Check alerady maintained?
IF sy-subrc <> 0 OR
( sy-subrc = 0 AND c_value <> 'X' ).
Issue massage 'Sales Org no permitted for renewal Letter'.
MESSAGE E012.
CLEAR: c_repco, r_vkorg.
EXIT.
ENDIF.
CLEAR: c_repco, r_vkorg.
ENDLOOP.
AT SELECTION-SCREEN.
Read single Sales Org
READ TABLE so_vkorg INDEX 1.
IF sy-subrc = 0.
CLEAR: l_ckappl, l_ckschl, l_cauart, c_kappl, c_kschl, c_auart.
for application
CONCATENATE 'INX_LETTER_V1_' so_vkorg-low INTO l_ckappl.
for output type
CONCATENATE 'INX_LETTER_Y6C4_' so_vkorg-low INTO l_ckschl.
document type
CONCATENATE 'INX_LETTER_AUART_' so_vkorg-low INTO l_cauart.
Get application
SELECT SINGLE value FROM /sie/ssg_xcm_cuc
INTO c_kappl WHERE repid = sy-repid AND const LIKE l_ckappl.
Get output type
SELECT SINGLE value FROM /sie/ssg_xcm_cuc
INTO c_kschl WHERE repid = sy-repid AND const LIKE l_ckschl.
Get document type
SELECT SINGLE value FROM /sie/ssg_xcm_cuc
INTO c_auart WHERE repid = sy-repid AND const LIKE l_cauart.
ENDIF.
find no of Sales org entries entered in the selection screen
DESCRIBE TABLE so_vkorg LINES l_vkorg.
find no of Sales office entries entered in the selection screen
DESCRIBE TABLE so_vkbur LINES l_vkbur.
find no of Sales Group entries entered in the selection screen
DESCRIBE TABLE so_vkgrp LINES l_vkgrp.
Check if enterred more than one entry
IF l_vkorg = 1 AND l_vkbur = 1.
add Sales Org, Sales office, Sales group for key
IF NOT so_vkgrp[] IS INITIAL.
CONCATENATE so_vkorg-low so_vkbur-low so_vkgrp-low INTO l_vakey.
ELSE.
CONCATENATE so_vkorg-low so_vkbur-low '%' INTO l_vakey.
ENDIF.
CONDENSE l_vakey.
Get printer name for selection.
SELECT SINGLE ldest FROM nach INTO p_print
WHERE kappl = c_kappl AND kschl = c_kschl AND vakey LIKE l_vakey.
ENDIF.
Manual processing is possible for Renewal Letter in advance only
IF p_manpr = 'X' AND rb_follo = 'X'.
MESSAGE E017.
ENDIF.
Main Processing
START-OF-SELECTION.
Check for the Follow up report
IF rb_follo = 'X'.
Call Follow up report with Selection criteria
SUBMIT /SIE/SWE_XCM_INDEX_FOLLOWUP
USING SELECTION-SET l_variant
WITH so_vbeln IN so_vbeln
WITH so_vkorg IN so_vkorg
WITH so_vtweg IN so_vtweg
WITH so_spart IN so_spart
WITH so_vkgrp IN so_vkgrp
WITH so_vkbur IN so_vkbur
WITH so_vkues IN so_vkues
WITH so_vuntd IN so_vuntd
WITH so_ernam IN so_ernam
WITH so_fnum IN so_fnum
WITH p_kappl EQ c_kappl
WITH p_kschl EQ c_kschl
WITH p_auart EQ c_auart
AND RETURN.
ELSE.
Process for Indexation Report
gs_repid = sy-repid.
Get data.
PERFORM get_data.
Filter data based on Siemens France rules
PERFORM process_data.
Check contract data is available for selection criteria
IF NOT it_cntrt[] IS INITIAL.
create ALV output header
PERFORM alv_fieldcat USING gt_fieldcat[].
create ALV layout
PERFORM alv_layout CHANGING gs_layout.
Sort ALV output
PERFORM alv_sort.
display filtered contract data
PERFORM output_data.
ELSE.
Display a message 'No records found'.
MESSAGE I011.
EXIT.
ENDIF.
ENDIF.
*& Form get_data
Retrieve contracts data from tables
--> p1 text
<-- p2 text
FORM get_data.
Get contract data from VBAK and VEDA.
SELECT avbeln aaudat a~kunnr
bvuntdat bvbegdat
bvdemdat bvenddat
INTO CORRESPONDING FIELDS OF TABLE it_cntrt
FROM vbak AS a INNER JOIN veda AS b
ON avbeln = bvbeln
WHERE a~vbeln IN so_vbeln
AND a~auart EQ c_auart
AND a~vkorg IN so_vkorg
AND a~vtweg IN so_vtweg
AND a~spart IN so_spart
AND a~vkgrp IN so_vkgrp
AND a~vkbur IN so_vkbur
AND a~ernam IN so_ernam
AND b~vposn = '000000'
AND b~vkuesch IN so_vkues
AND b~vuntdat IN so_vuntd.
ENDFORM. " get_data
*& Form process_data
text
--> p1 text
<-- p2 text
FORM process_data.
Internal tables
DATA: l_nast TYPE TABLE OF nast,
it_pr TYPE TABLE OF /sie/ssg_xcm_pr.
Work areas
DATA: w_nast TYPE nast,
wa_pr TYPE /sie/ssg_xcm_pr.
local Variables
DATA: l_datum1 TYPE sy-datum,
l_datum2 TYPE sy-datum,
l_d3last TYPE sy-datum,
l_d3next TYPE sy-datum.
current date.
l_datum1 = sy-datum.
Calcuate date after 3 months.
CALL FUNCTION 'DATE_CREATE'
EXPORTING
ANZAHL_MONATE = 3
DATUM_EIN = l_datum1
IMPORTING
DATUM_AUS = l_datum2.
l_datum2 = l_datum2 - 1.
SORT it_cntrt BY KUNNR VBELN.
Get corresponding records from /SIE/SSG_XCM_PR.
SELECT vbeln posnr fnum
FROM /SIE/SSG_XCM_PR
INTO CORRESPONDING FIELDS OF TABLE it_pr
FOR ALL ENTRIES IN it_cntrt
WHERE vbeln = it_cntrt-vbeln
AND posnr = it_cntrt-vposn
AND fnum IN so_fnum.
clear workarea
CLEAR wa_cntrt.
filter contracts agaist the table /SIE/SSG_XCM_PR records.
LOOP AT it_cntrt INTO wa_cntrt.
CLEAR wa_pr.
check contracts available in table /SIE/SSG_XCM_PR
READ TABLE it_pr INTO wa_pr WITH KEY vbeln = wa_cntrt-vbeln.
IF sy-subrc <> 0.
DELETE it_cntrt.
CLEAR wa_pr.
CONTINUE.
ELSEIF sy-subrc = 0 AND NOT wa_pr-fnum IN so_fnum.
if not available, do not consider this contract
DELETE it_cntrt.
CLEAR wa_pr.
CONTINUE.
ENDIF.
Dont consider contracts expires before today and after 3 months.
IF wa_cntrt-vdemdat > l_datum1. "current date
IF wa_cntrt-vdemdat(6) > l_datum2(6). "AND "after 3 months
delete contract
DELETE it_cntrt.
CLEAR wa_cntrt.
CONTINUE.
ENDIF.
ELSE.
DELETE it_cntrt.
CLEAR wa_cntrt.
CONTINUE.
ENDIF.
Is contract renewal letter has been sent already?
Get all records from NAST to find letter sent?
SELECT kappl objky kschl nacha datvr
FROM NAST
INTO CORRESPONDING FIELDS OF TABLE l_nast
WHERE kappl = c_kappl
AND objky = wa_cntrt-vbeln
AND kschl = c_kschl
AND nacha = '1'.
IF sy-subrc = 0.
sort renewal letter sent dates by latest is first
SORT l_nast BY datvr DESCENDING.
Get latest nast record
READ TABLE l_nast INTO w_nast INDEX 1.
IF sy-subrc = 0.
IF p_manpr <> 'X'. " ignore 3 month logic
l_d3next = wa_cntrt-vdemdat(06).
l_d3next+6(2) = '01'.
Calcuate date after 3 months.
CALL FUNCTION 'DATE_CREATE'
EXPORTING
ANZAHL_MONATE = -3
DATUM_EIN = l_d3next
IMPORTING
DATUM_AUS = l_d3last.
l_d3last = l_d3last + 1.
Check letter already sent year equals current year
IF w_nast-datvr BETWEEN l_d3last AND wa_cntrt-vdemdat.
do not consider it
DELETE it_cntrt.
CLEAR: l_d3last, wa_cntrt, w_nast, l_d3next.
CONTINUE.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
no leading zeros to contract
WRITE wa_cntrt-vbeln TO wa_cntrt-vbeln1 NO-ZERO.
modify internal table
MODIFY it_cntrt FROM wa_cntrt.
CLEAR: l_nast, w_nast.
ENDLOOP.
ENDFORM. " process_data
*& Form output_data
text
--> p1 text
<-- p2 text
FORM output_data.
Display output in a ALV Grid
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = gs_repid
I_CALLBACK_PF_STATUS_SET = 'ALV_STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IS_LAYOUT = gs_layout
IT_FIELDCAT = gt_fieldcat
IT_SORT = gs_sort
I_SAVE = 'A'
TABLES
T_OUTTAB = it_cntrt
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " output_data
*& Form alv_header
text
--> p1 text
<-- p2 text
FORM alv_fieldcat USING gs_fieldcat TYPE slis_t_fieldcat_alv.
DATA: ls_fieldcat TYPE slis_fieldcat_alv.
Sold-to Party header
ls_fieldcat-col_pos = 1.
ls_fieldcat-fieldname = 'KUNNR'.
ls_fieldcat-seltext_m = 'Sold-to Party'.
ls_fieldcat-outputlen = 14.
ls_fieldcat-datatype = 'CHAR'.
ls_fieldcat-key = 'X'.
APPEND ls_fieldcat TO gs_fieldcat.
CLEAR ls_fieldcat.
Contract number
ls_fieldcat-col_pos = 2.
ls_fieldcat-fieldname = 'VBELN'.
ls_fieldcat-seltext_m = 'Contract Number'.
ls_fieldcat-outputlen = 20.
ls_fieldcat-datatype = 'CHAR'.
APPEND ls_fieldcat TO gs_fieldcat.
CLEAR ls_fieldcat.
Contract Signed Date
ls_fieldcat-col_pos = 3.
ls_fieldcat-fieldname = 'VUNTDAT'.
ls_fieldcat-seltext_m = 'Contract signed date'.
ls_fieldcat-outputlen = 20.
ls_fieldcat-datatype = 'DATS'.
APPEND ls_fieldcat TO gs_fieldcat.
CLEAR ls_fieldcat.
Contract Start Date
ls_fieldcat-col_pos = 4.
ls_fieldcat-fieldname = 'VBEGDAT'.
ls_fieldcat-seltext_m = 'Contract start date'.
ls_fieldcat-outputlen = '20'.
ls_fieldcat-datatype = 'DATS'.
APPEND ls_fieldcat TO gs_fieldcat.
CLEAR ls_fieldcat.
Dismantling date
ls_fieldcat-col_pos = 5.
ls_fieldcat-fieldname = 'VDEMDAT'.
ls_fieldcat-seltext_m = 'Dismantling date'.
ls_fieldcat-outputlen = 14.
ls_fieldcat-datatype = 'DATS'.
APPEND ls_fieldcat TO gs_fieldcat.
CLEAR ls_fieldcat.
ENDFORM. " alv_header
*& Form alv_layout
text
--> p1 text
<-- p2 text
FORM alv_layout USING ls_layout TYPE slis_layout_alv.
No input
ls_layout-no_input = 'X'.
Column width is flexible
ls_layout-colwidth_optimize = 'X'.
ls_layout-box_fieldname = 'BOX'.
ls_layout-info_fieldname = 'LINE_COLOR'.
ls_layout-zebra = 'X'.
ls_layout-get_selinfos = 'X'.
ls_layout-reprep = 'X'.
ENDFORM. " alv_layout
*& Form alv_status
text
--> p1 text
<-- p2 text
FORM alv_status USING rt_extab TYPE slis_t_extab.
GUI Status and Application Toolbar
SET PF-STATUS '/SIE/SWE_XCM_INDEXLE'.
ENDFORM.
*& Form user_command
text
--> p1 text
<-- p2 text
FORM user_command USING l_ucomm LIKE sy-ucomm
l_selfield TYPE slis_selfield.
RANGES: r_kappl FOR nast-kappl,
r_objky FOR nast-objky,
r_kschl FOR nast-kschl,
r_nacha FOR nast-nacha.
DATA: l_jobname TYPE TBTCJOB-JOBNAME,
l_jobcount TYPE TBTCJOB-JOBCOUNT,
l_repid TYPE sy-repid,
l_print_params TYPE PRI_PARAMS,
l_arc_params TYPE ARC_PARAMS,
l_valid TYPE c,
l_retcode TYPE sy-subrc,
l_blines TYPE i.
CASE l_ucomm.
Process button seleted
WHEN c_sform.
process selected records.
LOOP AT it_cntrt INTO wa_cntrt.
IF wa_cntrt-box = 'X'.
place output type in the contract
PERFORM bdc_output USING wa_cntrt
CHANGING l_retcode.
IF l_retcode = 0.
add record for jobground job
r_objky-sign = 'I'.
r_objky-option = 'EQ'.
r_objky-low = wa_cntrt-vbeln.
APPEND r_objky.
ENDIF.
CLEAR: wa_cntrt, l_retcode, r_objky.
ENDIF.
ENDLOOP.
WHEN c_dclick.
set contract number id with the selected contract
SET PARAMETER ID 'AUN' FIELD l_selfield-value.
SET PARAMETER ID 'KTN' FIELD l_selfield-value.
call va42 tcode when double click on contract
CALL TRANSACTION c_tcode AND SKIP FIRST SCREEN.
ENDCASE.
DESCRIBE TABLE r_objky LINES l_blines.
IF NOT r_objky[] IS INITIAL.
IF l_blines > 0.
Background job name.
CONCATENATE 'XCM_INDEXATION' sy-uname '_' sy-uzeit
INTO l_jobname.
Application
r_kappl-sign = 'I'.
r_kappl-option = 'EQ'.
r_kappl-low = 'V1'.
APPEND r_kappl.
Message Type
r_kschl-sign = 'I'.
r_kschl-option = 'EQ'.
r_kschl-low = c_kschl.
APPEND r_kschl.
Message transmission medium
r_nacha-sign = 'I'.
r_nacha-option = 'EQ'.
r_nacha-low = '1'.
APPEND r_nacha.
l_repid = sy-repid.
Print Parameters
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
DESTINATION = p_print
MODE = c_batch
NO_DIALOG = 'X'
REPORT = l_repid
EXPIRATION = 2
IMMEDIATELY = 'X'
NEW_LIST_ID = 'X'
IMPORTING
OUT_ARCHIVE_PARAMETERS = l_arc_params
OUT_PARAMETERS = l_print_params
VALID = l_valid
EXCEPTIONS
ARCHIVE_INFO_NOT_FOUND = 1
INVALID_PRINT_PARAMS = 2
INVALID_ARCHIVE_PARAMS = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
opening the job
CALL FUNCTION 'JOB_OPEN'
EXPORTING
JOBNAME = l_jobname
IMPORTING
JOBCOUNT = l_jobcount
EXCEPTIONS
CANT_CREATE_JOB = 1
INVALID_JOB_DATA = 2
JOBNAME_MISSING = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Job submit
SUBMIT /sie/swe_xcm_index_rsnast00 TO SAP-SPOOL
USER sy-uname
WITH s_kappl IN r_kappl
WITH s_objky IN r_objky
WITH s_kschl IN r_kschl
WITH s_nacha IN r_nacha
WITH p_print EQ p_print
VIA JOB l_jobname NUMBER l_jobcount
SPOOL PARAMETERS l_print_params
WITHOUT SPOOL DYNPRO
AND RETURN.
IF sy-subrc <> 0.
display message when error in scheduling background job
MESSAGE E016 WITH 'Error scheduling Job'.
ENDIF.
Job close
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
JOBCOUNT = l_jobcount
JOBNAME = l_jobname
STRTIMMED = 'X'
EXCEPTIONS
CANT_START_IMMEDIATE = 1
INVALID_STARTDATE = 2
JOBNAME_MISSING = 3
JOB_CLOSE_FAILED = 4
JOB_NOSTEPS = 5
JOB_NOTEX = 6
LOCK_FAILED = 7
OTHERS = 8.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
ENDFORM.
*& Form bdc_output
text
--> p1 text
<-- p2 text
FORM bdc_output USING wa_cntrt TYPE ty_cntrt
CHANGING l_retcode TYPE sy-subrc.
DATA: l_nast TYPE TABLE OF nast,
it_nast TYPE TABLE OF nast,
w_nast TYPE nast,
l_cellno(2) TYPE n,
l_vbelv TYPE vbfa-vbelv,
l_vbpa TYPE vbpa,
l_yes(1),
l_temp(40) TYPE c,
l_lines TYPE i,
l_lesscnt TYPE i,
l_less(1),
l_lines1(2) TYPE n.
REFRESH: it_nast, l_nast, it_bdc.
CLEAR: l_nast, w_nast, l_yes, l_cellno,
it_nast, l_nast, it_bdc.
PERFORM dyn_scr USING 'SAPMV45A' '0102' 'X'.
PERFORM dyn_fld USING 'VBAK-VBELN' wa_cntrt-vbeln.
PERFORM dyn_fld USING 'BDC_OKCODE' '/00'.
PERFORM dyn_scr USING 'SAPMV45A' '4001' 'X'.
PERFORM dyn_fld USING 'BDC_OKCODE' '=HEAD'.
PERFORM dyn_scr USING 'SAPMV45A' '4002' 'X'.
PERFORM dyn_fld USING 'BDC_OKCODE' '=KDOK'.
SELECT *
FROM nast
INTO CORRESPONDING FIELDS OF TABLE l_nast
WHERE kappl = c_kappl
AND objky = wa_cntrt-vbeln.
IF sy-subrc = 0.
SORT l_nast BY kschl vstat.
DESCRIBE TABLE l_nast LINES l_lines.
LOOP AT l_nast INTO w_nast.
l_cellno = sy-tabix.
IF w_nast-kschl = c_kschl AND w_nast-vstat = 0.
EXIT.
ENDIF.
IF w_nast-kschl > c_kschl OR
( w_nast-kschl = c_kschl AND w_nast-vstat <> 0 ).
IF l_less = space.
l_cellno = l_cellno - 1.
ENDIF.
CLEAR l_less.
IF l_cellno = 0.
l_cellno = 1.
ENDIF.
l_lines = l_lines + 1.
l_lines1 = l_lines.
PERFORM dyn_scr USING 'SAPDV70A' '0100' 'X'.
CONCATENATE 'DNAST-KSCHL(' l_lines1 ')' INTO l_temp.
CONDENSE l_temp.
PERFORM dyn_fld USING l_temp 'Y6C4'.
CLEAR: l_temp, l_lines, l_lines1.
PERFORM dyn_fld USING 'BDC_OKCODE' '/00'.
EXIT.
ELSEIF w_nast-kschl < c_kschl.
l_less = 'X'.
l_lesscnt = l_lesscnt + 1.
ENDIF.
ENDLOOP.
ELSE.
l_cellno = '01'.
PERFORM dyn_scr USING 'SAPDV70A' '0100' 'X'.
CONCATENATE 'DNAST-KSCHL(' l_cellno ')' INTO l_temp.
CONDENSE l_temp.
PERFORM dyn_fld USING l_temp 'Y6C4'.
CLEAR l_temp.
PERFORM dyn_fld USING 'BDC_OKCODE' '/00'.
ENDIF.
IF l_less = 'X'.
l_lesscnt = l_lesscnt + 1.
l_cellno = l_lesscnt.
l_lines = l_lines + 1.
l_lines1 = l_lines.
PERFORM dyn_scr USING 'SAPDV70A' '0100' 'X'.
CONCATENATE 'DNAST-KSCHL(' l_lines1 ')' INTO l_temp.
CONDENSE l_temp.
PERFORM dyn_fld USING l_temp 'Y6C4'.
CLEAR: l_temp, l_lines, l_lines1.
PERFORM dyn_fld USING 'BDC_OKCODE' '/00'.
ENDIF.
PERFORM dyn_scr USING 'SAPDV70A' '0100' 'X'.
CONCATENATE 'DV70A-SELKZ(' l_cellno ')' INTO l_temp.
CONDENSE l_temp.
PERFORM dyn_fld USING l_temp 'X'.
CLEAR l_temp.
PERFORM dyn_fld USING 'BDC_OKCODE' '=V70P'.
PERFORM dyn_scr USING 'SAPDV70A' '0101' 'X'.
PERFORM dyn_fld USING 'NAST-LDEST' p_print.
PERFORM dyn_fld USING 'NAST-DIMME' 'X'.
PERFORM dyn_fld USING 'NAST-TDARMOD' '1'.
PERFORM dyn_fld USING 'BDC_OKCODE' '=V70B'.
PERFORM dyn_scr USING 'SAPDV70A' '0100' 'X'.
CONCATENATE 'DV70A-SELKZ(' l_cellno ')' INTO l_temp.
CONDENSE l_temp.
PERFORM dyn_fld USING l_temp 'X'.
CLEAR l_temp.
PERFORM dyn_fld USING 'BDC_OKCODE' '=V70I'.
PERFORM dyn_scr USING 'SAPDV70A' '0102' 'X'.
PERFORM dyn_fld USING 'NAST-VSZTP' '1'.
PERFORM dyn_fld USING 'BDC_OKCODE' '=V70B'.
PERFORM dyn_scr USING 'SAPDV70A' '0100' 'X'.
PERFORM dyn_fld USING 'BDC_OKCODE' '=V70S'.
CALL TRANSACTION c_tcode USING it_bdc
MODE c_mode "'N'
UPDATE c_updat "'A'
MESSAGES INTO it_mesg.
IF sy-subrc = 0.
l_retcode = 0.
ENDIF.
ENDFORM. " bdc_output
*& Form dyn_scr
text
-->P_0642 text
-->P_0643 text
-->P_0644 text
FORM dyn_scr USING P_0642
P_0643
P_0644.
MOVE: p_0642 TO wa_bdc-program,
p_0643 TO wa_bdc-dynpro,
p_0644 TO wa_bdc-dynbegin.
APPEND wa_bdc TO it_bdc.
CLEAR wa_bdc.
ENDFORM. " dyn_scr
*& Form dyn_fld
text
-->P_0654 text
-->P_0655 text
FORM dyn_fld USING P_0654
P_0655.
MOVE: p_0654 TO wa_bdc-fnam,
p_0655 TO wa_bdc-fval.
APPEND wa_bdc TO it_bdc.
CLEAR wa_bdc.
ENDFORM. " dyn_fld
*& Form alv_sort
text
FORM alv_sort.
DATA: wa_sortcat TYPE slis_sortinfo_alv.
WA_SORTCAT-SPOS = 1.
WA_SORTCAT-FIELDNAME = 'KUNNR'.
WA_SORTCAT-UP = 'X'.
WA_SORTCAT-EXPA = 'X'.
Appending gd_sortcat-tabname
APPEND WA_SORTCAT TO gs_sort.
CLEAR wa_sortcat.
WA_SORTCAT-SPOS = 2.
WA_SORTCAT-FIELDNAME = 'VBELN'.
WA_SORTCAT-UP = 'X'.
WA_SORTCAT-EXPA = 'X'.
Appending gd_sortcat-tabname
APPEND WA_SORTCAT TO gs_sort.
WA_SORTCAT-SPOS = 3.
WA_SORTCAT-FIELDNAME = 'VUNTDAT'.
WA_SORTCAT-UP = 'X'.
WA_SORTCAT-EXPA = 'X'.
Appending gd_sortcat-tabname
APPEND WA_SORTCAT TO gs_sort.
ENDFORM. " alv_sort -
How to put checkbox into sap grid display
hi,
how to put checkbox into sap grid display ,when i am selecting the check box it should move to second secondary list.
could u plz explain clearlyHi,
In the layout fill
is_layout-box_fieldname = 'CHECKBOX'
is_layout-box_tabname = 'I_OUTPUT'.
The internal table that you are passing as I_OUTPUT, should have an extra field called CHECKBOX of length 1.
Also refer to tutorial Easy Grid :
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/documents/a1-8-4/an%20easy%20reference%20for%20alv%20grid%20control.pdf
Cheers,
Simha. -
Grid value( Field J_3ASIZE ) in the report MB5T in SAP-AFS
Hi
How can i bring the Grid value ( Field J_3ASIZE ) in the report MB5T for particular STO in SAP-AFS industry solution.
I tried in the layout but there are no such fields to bring in !!
Help me out swiftly.
cheers
Maruthi
Edited by: MARUTHI RAM on Apr 15, 2009 1:53 AMDear Maruthi,
MB5T will not give grid details but ME2W will give grid details. Please enable AFS details for the scope of list in customizing for ME2W scope of lost
MM --> ME2W
You can create consolidated report using the 2 reports MB5T and Me2W. MB5T give PO with in transit stock and ME2W will give PO with grid details.
I hope this clarifies.
Regards,
Rakesh -
Creating an ALV grid using SAP Query
Hi ,
My requirement is to generate an ALV grid Display of an SAP Query.
Please let me know the steps.
Regards,
BhanuHello,
Please check the below steps :
Crete Infoset using SQ02 ....
Create Usregrous using SQ03 and hen create Query using SQ01 after this
U can select the type of lit format like ALV list ALV gRID OR CLASSIVAL LIST ....
Regards -
SAP PCM - No grid value shown for SummaryCostObjectValue
This relates to SAP Profitability and Cost Management (formerly ALG) application.
I have a grid display that shows values in the measure CostObjectValue; however, no values are shown for the related SummaryCostObjectValue. I'm not sure why.The problem is a result of the settings in the Model Calculation Options (available from the Model menu). The option entitled "Calculation excluding summary cost object values" was flagged on. Once this tick was removed, the model calculated successfully and the grid values were updated.
-
Hello Everybody,
I am working on financial budget Appication. I created dimensions and uploaded datafiles successfully.
I and generated reports.
Now iam prolbem is. I am preparing below reports in BPC-Exce-->dras & Drop EvDRE Grid.
My report is showing something like below:
BudgetItems | Yr-2007 | Yr-2008 |
Publice_Sector | 200 | 220 |
Pvt_Sector | 400 | 440 |
But i need some thing like below
BudgetItems | Yr-2007 | Yr-2008 | Change | % Change |
Publice_Sector | 200 | 220 | 20 | |
Pvt_Sector | 400 | 440 | 40 | |
Here i think i have to write formulas with EvDRE.
MyGmail: satish.mba.sap
Thanks,
Satish.Satish,
If you have the software installed, you also have the help files. eTools -> "Business Planning and Consolidation for Office Help" -> and then search in the index for EVDRE.
The same documentation is available from the software download center, in PDF format. As with the software, this is available for licensees of the BPC software.
The purpose of this forum is to share information on topics that are not readily available in the standard documentation.
Please don't continue asking the forum to email you basic information -- you need to take responsibility to find things yourself, and to demonstrate to the forum that you've exhausted these basic channels of information before asking for help here.
Maybe you are looking for
-
So, I search the binary matlab file format('*.mat').
-
Automatically clear the open items for a GL account cross company codes
Hi FICO experts, Can anyone help me on the following issue urgently? There are journal entries posted to same GL account with different company code. Is there any way to automatically clear the open items sitting in the GL account in company code A t
-
Somebody has stolen my macbook pro. What can I do?
Yesterday somebody stole my computer macbook pro. I want to know if there is any thing that I can do. Thanks!!
-
All Apple apps quit after system update install
Installed most recent system update on a perfectly stable, happy Mac. Since then, any apple app- (mail, safari, update, address book so far) will launch and then immediately quit. I am also getting a "subpubagent unexpectedly quit" pop-up which has n
-
Trying to create a DB connection in JDeveloper results in t2cGetCharSet
When I attemp to create a new DB connection and then run a test connection, i get the following error. I've copied and pasted the ojdbc14.jar file from the Application server to my JDeveloper jdbc/lib directory and it still did not resolve the issue.