Data ONTAP PowerShell Toolkit - Collect SYSSTAT type of information in CSV format
As part of performance monitoring and analysis collecting performance data is crucial. Even though historical data could be collected with other monitoring tools we are often using SYSSTAT command to collect such data during short period of time of specific activity to analyze performance of NetApp array. Raw output of SYSSTAT command is useful but in some cases it needs to be presented in more visual form such graphs and charts. Producing Comma-Separated-Values file from SYSSTAT command output is long and painful process.
Working with customer on performance analysis made me to develop PowerShell script which can capture such data in CSV format, so that data can be processed much faster and presented to customer in nice graphical format.
Script Get-NaSysStat.ps1 uses Get-NaPerfCounter and Get-NaPerfData commandlets to extract performance data of NetApp array and store them into CSV file. Script uses next parameters:
NaIP : IP address or Name of the Filer
NaUS : Filer User Name. Default Value - root
NaPW : Filer User's Password. Default Value - password.
Output : Display/<File Name or Path>. Default Value - Display
Interval : Interval in minutes between samples. Default Value - 5 min.
Iterations : Number of sample iterations.
Default Value - 0, for no limit.
Execution can be ended by pressing Ctrl-C
Example of calling script and screen output:
PS C:\@work\Scripts> .\Get-NaSysStat.ps1 -NaIP 10.58.97.11 -NaUS root -NaPW <password> -Output Perf.csv -Interval 1
Name Value
Time 4/7/2011 4:37:03 PM
system_model FAS6070
ontap_version NetApp Release 8.0.1RC2 7-Mode: Thu Oct 21 01:27:45 PDT 2010
serial_no ***
system_id ***
hostname Array-01
nfs_ops 0.00
cifs_ops 0.00
http_ops 0.00
fcp_ops 8.50
iscsi_ops 0.00
read_ops 0.00
sys_read_latency 0.00
write_ops 8.50
sys_write_latency 0.32
total_ops 8.50
sys_avg_latency 0.32
net_data_recv 2.20
net_data_sent 9.25
disk_data_read 169.61
disk_data_written 584.21
cpu_busy 2.12
avg_processor_busy 1.49
total_processor_busy 5.98
num_processors 4
Screen output is valuable part but parameter -Output tells script to save data into CSV file. Here is an example of CSV files:
Time, avg_processor_busy, cifs_ops, cpu_busy, disk_data_read, disk_data_written, fcp_ops, hostname, http_ops, iscsi_ops, net_data_recv, net_data_sent, nfs_ops, num_processors, ontap_version, read_ops, serial_no, sys_avg_latency, sys_read_latency, sys_write_latency, system_id, system_model, total_ops, total_processor_busy, write_ops,
3/28/2011 5:32:25 PM, 3.17, 0.00, 17.30, 6773.59, 21667.06, 1031.74, BP-SAN-04, 0.00, 0.00, 17.41, 284.66, 0.00, 12, NetApp Release 8.0.1 7-Mode: Wed Jan 5 17:23:51 PST 2011, 558.10, 700000501660, 0.83, 0.89, 0.75, 1873760944, FAS6280, 1031.54, 37.98, 473.44,
3/28/2011 5:33:26 PM, 2.07, 0.00, 10.88, 8511.15, 16221.77, 869.91, BP-SAN-04, 0.00, 0.00, 6.29, 91.75, 0.00, 12, NetApp Release 8.0.1 7-Mode: Wed Jan 5 17:23:51 PST 2011, 656.24, 700000501660, 0.80, 0.79, 0.84, 1873760944, FAS6280, 869.70, 24.89, 213.46,
3/28/2011 5:34:27 PM, 0.83, 0.00, 3.59, 3311.89, 5268.20, 131.53, BP-SAN-04, 0.00, 0.00, 1.84, 9.72, 0.00, 12, NetApp Release 8.0.1 7-Mode: Wed Jan 5 17:23:51 PST 2011, 50.07, 700000501660, 0.81, 1.05, 0.65, 1873760944, FAS6280, 131.35, 10.00, 81.28,
3/28/2011 5:35:28 PM, 1.66, 1.70, 10.61, 2518.90, 3812.95, 241.06, BP-SAN-04, 0.00, 0.00, 12.41, 25.53, 0.00, 12, NetApp Release 8.0.1 7-Mode: Wed Jan 5
Performance data is exported into Microsoft Excel for further analysis and nice performance graphs created within minutes:
Script is attached to this post.
i can't start this script - i have error:================C:\ps\Get-NaSysStat.ps1:52 row:10 + $Filer = Connect-NaController $NaIP -Credential $Creds + ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Connect-NaControllertring) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException================what can i do?
Similar Messages
-
Uploading data in MM01 for different material types
Hi,
I have a doubt regarding uploading the data in MM01 for different material types.
Generally in MM01, we have different views for different material types. The number of views will vary depending upon the material type that we select.
I have a scenario, where in to upload the data, I have a flat file that consists of data for different message types. So, how to upload the data in such case.
Can anyone help me on the same by providing explanation or sample code...? What would be the possible ways to upload data in such scenario.
That would be of great help.
Thanks & Regards,
Pradeep.See the below code and use FM SELECTION_VIEWS_FIND..
REPORT zjpmuim306 NO STANDARD PAGE HEADING LINE-SIZE 250 MESSAGE-ID
zjpm001.
*& I N B O U N D V I A A B A P : Batch input Session method *
*& Development ID: IM_DD_306_LJP *
*& Report : ZJPMUIM306 *
*& The Purpose of the Object is to interface Create Input Record *
*& for SAP Migration from the Material master of BPCS All the *
*& information received at BPCS is collected into a single record. *
*& By using session method upload data from file ,one item is
*& created for one record *
*& Change Log: *
*& Init Who Date Text *
*& MALIKDH1 Seshu Reddy 26-07-2003 Initial Version *
Constants *
CONSTANTS:c_vkorg(4) type c value 'JP20', " Sales Organization
c_vtweg(2) type c value 'TR' , " Distribution Channel
c_werks(4) Type c value 'JP01' , " Plant
c_viewlist(15) VALUE 'KDEALBSZXVPCFQG'," View list
c_scm_view TYPE msichtausw-dytxt VALUE 'SCM View',
c_sd_view TYPE msichtausw-dytxt VALUE 'SD View',
c_seq_code(2) VALUE 'Z1', " Sequential Code
c_keep(1) TYPE c VALUE 'X', " Keep
c_group LIKE apqi-groupid VALUE 'IM306', " Session Name
c_tcode LIKE tstc-tcode VALUE 'MM02', " Transaction Code
c_blank(1) VALUE ' ', " Blank
c_intls(1) VALUE 'N'. " Logistic Status
Variables *
DATA: g_flag1(1), " Variable to hold
g_flag(1), " Variable to hold
g_file LIKE rlgrap-filename VALUE
'C:\Documents and Settings\seshur\Desktop\HCLT123.CSV'. " File name
Internal tables/ Work area *
Internal Table for Delimter
DATA : BEGIN OF t_delim OCCURS 0,
text(1000),
END OF t_delim.
Internal table for BDC processing
DATA : t_bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
Internal table for holding the data which has to be uploaded.
DATA: BEGIN OF t_bpcs OCCURS 0,
matnr(15) TYPE c, " material no
dosage(40) TYPE c, " Dosage form(Local)
appearance(40) TYPE c, " Appearance
idcode(6) TYPE c, " Identification Code
prostformno(10) TYPE c, "SOP
weitab(7) TYPE c, " Weight/tablet
uom1(2) TYPE c, " UOM of Carton
uom2(2) TYPE c, " UOM of Case
carsize(14) TYPE c, " Carton size
cassize(14) TYPE c, " Case size
rupqty(11) TYPE c, " Round up
abvname(3) TYPE c, " Product short name
END OF t_bpcs.
*Internal table for t_bpcs
DATA: BEGIN OF t_mdata OCCURS 0,
matnr LIKE marc-matnr, " Material number
zzjp_dos_frm LIKE marc-zzjp_dos_frm, " Dosage form(Local)
zzjp_aprn LIKE marc-zzjp_aprn, " Appearance
zzjp_con_id LIKE marc-zzjp_con_id," Identification Code
zzjp_nyu_sop LIKE marc-zzjp_nyu_sop,"SOP
zzjp_wei_tab(10) type c , " Weight/tablet
zzjp_bio LIKE marc-zzjp_bio,"Biologics Indicator
zzjp_itf LIKE marc-zzjp_itf, " ITF code
zzjp_car(2) type c, " UOM of Carton
zzjp_cas(2) type c, " UOM of Case
zzjp_car_size(11) type c," Carton size
zzjp_cas_size(11) type c, " Case size
zzjp_rupqty(11) type c, " Round up
zzjp_init_ls LIKE marc-zzjp_init_ls, " Logistic Status
zzjp_re1 LIKE marc-zzjp_re1, "Document type(Local)
zzjp_re2 LIKE marc-zzjp_re2, "Report type
zzjp_re3 LIKE marc-zzjp_re3, "Shipping report type
zzjp_pro_id LIKE mvke-zzjp_pro_id," Product output sequence
zzjp_bu_id LIKE mvke-zzjp_bu_id, " Business unit indicator
zzjp_abv_name LIKE mvke-zzjp_abv_name," Product short name
zzjp_abv_id1 LIKE mvke-zzjp_abv_id1," Product short name output
zzjp_abv_id2 LIKE mvke-zzjp_abv_id2," Product short name internal
zzjp_spl_id LIKE mvke-zzjp_spl_id, " Sample internal order
END OF t_mdata.
Internal table for Mara Table
DATA: BEGIN OF t_mara OCCURS 0,
matnr LIKE mara-matnr, " material Number
vpsta LIKE mara-vpsta, " Maintenance status of complete material
pstat like mara-pstat, " Maintenance status
END OF t_mara.
Internal table for Material Master View Selection Screens
DATA: BEGIN OF t_bildtab OCCURS 0.
INCLUDE STRUCTURE mbildtab.
DATA: END OF t_bildtab.
internal table for T_bildtab
DATA: t_bildtab_dup LIKE t_bildtab OCCURS 0 WITH HEADER LINE.
*Work area for T_bildtab internal table(Views Selection)
DATA: BEGIN OF w_data,
flag1 type c,
anzd70 TYPE i,
field1(20) type c,
field2(20) type c,
field3(20) type c,
field4(20) type c,
count(2) TYPE c,
END OF w_data.
Main Processing *
START-OF-SELECTION.
Store data from file into internal table
PERFORM f_uplaod_data.
Transfer the uploaded data into t_mdata internal Table
PERFORM f_process_data.
Selecting The views based on Material number
PERFORM f_view_list.
Open a BDC Session
PERFORM f_bdc_open.
*Selecting the fields from mara table
SELECT matnr
vpsta
pstat
FROM mara
INTO TABLE t_mara
FOR ALL ENTRIES IN t_mdata
WHERE matnr = t_mdata-matnr.
SORT t_mara BY matnr.
SORT t_mdata BY matnr.
Transfer the uploaded data into BDCDATA structure
PERFORM f_process_bdc.
Close The BDC Session
PERFORM f_close_group.
*& Form F_VIEW_LIST *
Routine to used for Calling the function module *
Selection_views_find *
FORM f_view_list.
CALL FUNCTION 'SELECTION_VIEWS_FIND'
EXPORTING
bildsequenz = c_seq_code
pflegestatus = c_viewlist
TABLES
bildtab = t_bildtab
EXCEPTIONS
call_wrong = 1
empty_selection = 2
OTHERS = 3.
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. " F_VIEW_LIST
*& Form f612_view_sort *
Routine to used for Selecting The views based on Material Number *
FORM f612_view_sort.
t_bildtab_dup[] = t_bildtab[].
Reading the Internal table t_mara
READ TABLE t_mara WITH KEY matnr = t_mdata-matnr.
TRANSLATE t_mara-pstat USING ' $'.
CLEAR: w_data-flag1, w_data-anzd70.
LOOP AT t_bildtab_dup.
IF t_bildtab_dup-pstat CA t_mara-pstat.
w_data-anzd70 = w_data-anzd70 + 1.
IF t_bildtab_dup-kzanz IS INITIAL.
t_bildtab_dup-kzanz = 'X'.
w_data-flag1 = 'X'.
MODIFY t_bildtab_dup.
ENDIF.
ELSE.
IF NOT t_bildtab_dup-kzanz IS INITIAL.
CLEAR t_bildtab_dup-kzanz.
w_data-flag1 = 'X'.
MODIFY t_bildtab_dup.
ENDIF.
ENDIF.
ENDLOOP.
TRANSLATE t_mara-pstat USING '$ '.
IF NOT w_data-flag1 IS INITIAL.
SORT t_bildtab_dup BY kzanz DESCENDING idxbd ASCENDING.
ENDIF.
*Reading The internal table for T_bildtab_dup
READ TABLE t_bildtab_dup WITH KEY dytxt = c_scm_view.
IF t_bildtab_dup-kzanz = 'X'.
WRITE sy-tabix TO w_data-count.
w_data-count = w_data-count + 2.
IF w_data-anzd70 > 18.
w_data-count = w_data-count - 18.
ENDIF.
CONCATENATE 'MSICHTAUSW-DYTXT(' w_data-count ')' INTO w_data-field1.
CONCATENATE 'MSICHTAUSW-KZSEL(' w_data-count ')' INTO w_data-field2.
ENDIF.
READ TABLE t_bildtab_dup WITH KEY dytxt = c_sd_view.
IF t_bildtab_dup-kzanz = 'X'.
WRITE sy-tabix TO w_data-count.
IF w_data-anzd70 > 18.
w_data-count = w_data-count + 2.
w_data-count = w_data-count - 18.
ENDIF.
CONCATENATE 'MSICHTAUSW-DYTXT(' w_data-count ')' INTO w_data-field3.
CONCATENATE 'MSICHTAUSW-KZSEL(' w_data-count ')' INTO w_data-field4.
ENDIF.
ENDFORM. " f612_view_sort
*& Form f_uplaod_data *
Routine to used for Uploading the data from file to Internal table *
FORM f_uplaod_data.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = g_file
filetype = 'DAT'
TABLES
data_tab = t_delim
EXCEPTIONS
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
OTHERS = 10.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF t_bpcs IS INITIAL.
LOOP AT t_delim.
SPLIT t_delim-text AT ',' INTO t_bpcs-matnr
t_bpcs-dosage
t_bpcs-appearance
t_bpcs-idcode
t_bpcs-prostformno
t_bpcs-weitab
t_bpcs-uom1
t_bpcs-uom2
t_bpcs-carsize
t_bpcs-cassize
t_bpcs-rupqty
t_bpcs-abvname.
APPEND t_bpcs.
ENDLOOP.
ENDIF.
ENDFORM. " f_uplaod_data
*& Form F_BDC_OPEN
Routine to create BDC Session to be processed
FORM f_bdc_open.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
client = sy-mandt
group = c_group
keep = c_keep
user = sy-uname
EXCEPTIONS
client_invalid = 1
destination_invalid = 2
group_invalid = 3
group_is_locked = 4
holddate_invalid = 5
internal_error = 6
queue_error = 7
running = 8
system_lock_error = 9
user_invalid = 10
OTHERS = 11.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
MESSAGE S000 WITH 'Batch input session is created successfully'(T02).
ENDIF.
ENDFORM. " F_BDC_OPEN
*& Form F_PROCESS_BDC
Processing of BDCDATA Structure
FORM f_process_bdc.
LOOP AT t_mdata.
PERFORM f612_view_sort.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0060'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
'RMMG1-MATNR'.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'=AUSW'.
PERFORM f_bdc_field USING 'RMMG1-MATNR'
t_mdata-matnr.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
IF w_data-anzd70 > 18.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'=P+'.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM f_bdc_field USING 'BDC_OKCODE' '/00'.
ENDIF.
reading the t_bildtab internal table
READ TABLE t_bildtab_dup WITH KEY dytxt = c_scm_view.
IF t_bildtab_dup-kzanz = 'X'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
w_data-field1.
PERFORM f_bdc_field USING w_data-field2 'X'.
g_flag = 'X'.
ENDIF.
reading the t_bildtab internal table
READ TABLE t_bildtab_dup WITH KEY dytxt = c_sd_view.
IF sy-subrc EQ 0.
g_flag = 'X'.
ENDIF.
IF t_bildtab_dup-kzanz = 'X'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
w_data-field3.
PERFORM f_bdc_field USING w_data-field4 'X'.
g_flag1 = 'X'.
ENDIF.
IF g_flag = 'X' AND g_flag1 = 'X'.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0080'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
'RMMG1-VTWEG'.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM f_bdc_field USING 'RMMG1-WERKS'
c_werks.
PERFORM f_bdc_field USING 'RMMG1-VKORG'
c_vkorg.
PERFORM f_bdc_field USING 'RMMG1-VTWEG'
c_vtweg.
CLEAR g_flag.
CLEAR g_flag1.
ELSE.
IF g_flag = 'X'.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0080'.
PERFORM f_bdc_field USING 'RMMG1-WERKS'
c_werks.
PERFORM f_bdc_field USING 'BDC_OKCODE' '/00'.
ELSE.
IF g_flag1 = 'X'.
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0080'.
PERFORM f_bdc_field USING 'BDC_CURSOR'
'RMMG1-VTWEG'.
PERFORM f_bdc_field USING 'RMMG1-WERKS'
c_werks.
PERFORM f_bdc_field USING 'RMMG1-VKORG'
c_vkorg.
PERFORM f_bdc_field USING 'RMMG1-VTWEG'
c_vtweg.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'=ENTR'.
ENDIF.
ENDIF.
ENDIF.
*Processing of SCM View
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM f_bdc_field USING 'BDC_CURSOR' 'MARC-ZZJP_DOS_FRM'.
PERFORM f_bdc_field USING 'MARC-ZZJP_DOS_FRM'
t_mdata-zzjp_dos_frm.
PERFORM f_bdc_field USING 'MARC-ZZJP_APRN'
t_mdata-zzjp_aprn.
PERFORM f_bdc_field USING 'MARC-ZZJP_CON_ID'
t_mdata-zzjp_con_id.
PERFORM f_bdc_field USING 'MARC-ZZJP_NYU_SOP'
t_mdata-zzjp_nyu_sop.
PERFORM f_bdc_field USING 'MARC-ZZJP_WEI_TAB'
t_mdata-zzjp_wei_tab.
PERFORM f_bdc_field USING 'MARC-ZZJP_CAR'
t_mdata-zzjp_car.
PERFORM f_bdc_field USING 'MARC-ZZJP_CAS'
t_mdata-zzjp_cas.
PERFORM f_bdc_field USING 'MARC-ZZJP_CAR_SIZE'
t_mdata-ZZJP_CAR_SIZE.
PERFORM f_bdc_field USING 'MARC-ZZJP_CAS_SIZE'
t_mdata-ZZJP_CAS_SIZE.
PERFORM f_bdc_field USING 'MARC-ZZJP_RUPQTY'
t_mdata-ZZJP_RUPQTY.
PERFORM f_bdc_field USING 'MARC-ZZJP_BIO'
t_mdata-zzjp_bio.
PERFORM f_bdc_field USING 'MARC-ZZJP_ITF'
t_mdata-zzjp_itf.
PERFORM f_bdc_field USING 'MARC-ZZJP_INIT_LS'
t_mdata-zzjp_init_ls.
PERFORM f_bdc_field USING 'MARC-ZZJP_RE1'
t_mdata-zzjp_re1.
PERFORM f_bdc_field USING 'MARC-ZZJP_RE2'
t_mdata-zzjp_re2.
PERFORM f_bdc_field USING 'MARC-ZZJP_RE3'
t_mdata-zzjp_re3.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'/00'.
*Processing of SD View
PERFORM f_bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM f_bdc_field USING 'BDC_CURSOR' 'MVKE-ZZJP_PRO_ID'.
PERFORM f_bdc_field USING 'MVKE-ZZJP_PRO_ID'
t_mdata-zzjp_pro_id.
PERFORM f_bdc_field USING 'MVKE-ZZJP_BU_ID'
t_mdata-zzjp_bu_id.
PERFORM f_bdc_field USING 'MVKE-ZZJP_ABV_NAME'
t_mdata-zzjp_abv_name.
PERFORM f_bdc_field USING 'MVKE-ZZJP_ABV_ID1'
t_mdata-zzjp_abv_id1.
PERFORM f_bdc_field USING 'MVKE-ZZJP_ABV_ID2'
t_mdata-zzjp_abv_id2.
PERFORM f_bdc_field USING 'MVKE-ZZJP_SPL_ID'
t_mdata-zzjp_spl_id.
PERFORM f_bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM f_bdc_dynpro USING 'SAPLSPO1' '0300'.
PERFORM f_bdc_field USING 'BDC_OKCODE'
'=YES'.
perform f_bdc_insert.
REFRESH T_BDCDATA.
ENDLOOP.
ENDFORM. " F_PROCESS_BDC
*& Form f_bdc_dynpro
p_prog is the program name to which data is passed *
p_dyno is the screen number to which the data is passed
Routine for populating the BDCDATA structure with the
Screen related information
FORM f_bdc_dynpro USING p_prog
p_dyno.
t_bdcdata-program = p_prog.
t_bdcdata-dynpro = p_dyno.
t_bdcdata-dynbegin = 'X'.
APPEND t_bdcdata.
CLEAR t_bdcdata.
ENDFORM. " F_bdc_dynpro
*& Form F_BDC_FIELD
p_fnam is the field name to which value is passed
p_fval is the field value which is passed
p_fnam is the field name to which value is passed
p_fval is the field value which is passed
FORM f_bdc_field USING p_fnam
p_fval.
t_bdcdata-fnam = p_fnam.
t_bdcdata-fval = p_fval.
APPEND t_bdcdata.
CLEAR t_bdcdata.
ENDFORM. " F_bdc_field
*& Form F_PROCESS_DATA *
Routine to used for moving data from T_bpcs internal table to *
t_mdata Internal Table *
FORM f_process_data.
LOOP AT t_bpcs.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = t_bpcs-matnr
IMPORTING
output = t_mdata-matnr.
MOVE t_bpcs-dosage TO t_mdata-zzjp_dos_frm.
MOVE t_bpcs-appearance TO t_mdata-zzjp_aprn.
MOVE t_bpcs-idcode TO t_mdata-zzjp_con_id.
MOVE t_bpcs-prostformno TO t_mdata-zzjp_nyu_sop.
MOVE t_bpcs-weitab TO t_mdata-zzjp_wei_tab.
MOVE c_blank TO t_mdata-zzjp_bio.
MOVE c_blank TO t_mdata-zzjp_itf.
MOVE t_bpcs-uom1 TO t_mdata-zzjp_car.
MOVE t_bpcs-uom2 TO t_mdata-zzjp_cas.
MOVE t_bpcs-carsize TO t_mdata-zzjp_car_size.
MOVE t_bpcs-cassize TO t_mdata-zzjp_cas_size.
MOVE t_bpcs-rupqty TO t_mdata-zzjp_rupqty.
MOVE c_intls TO t_mdata-zzjp_init_ls.
MOVE c_blank TO t_mdata-zzjp_re1.
MOVE c_blank TO t_mdata-zzjp_re2.
MOVE c_blank TO t_mdata-zzjp_re3.
MOVE c_blank TO t_mdata-zzjp_pro_id.
MOVE c_blank TO t_mdata-zzjp_bu_id.
MOVE t_bpcs-abvname TO t_mdata-zzjp_abv_name.
MOVE c_blank TO t_mdata-zzjp_abv_id1.
MOVE c_blank TO t_mdata-zzjp_abv_id2.
MOVE c_blank TO t_mdata-zzjp_spl_id.
APPEND t_mdata.
ENDLOOP.
ENDFORM. " F_PROCESS_DATA
*& Form f_bdc_close
Routine to close the BDC Session
FORM f_close_group.
CALL FUNCTION 'BDC_CLOSE_GROUP'
EXCEPTIONS
not_open = 1
queue_error = 2
OTHERS = 3.
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. " f_close_group
*& Form f_bdc_insert
routine to input batch data into the Transaction MM02 from the
session created
FORM f_bdc_insert.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
tcode = c_tcode
TABLES
dynprotab = t_bdcdata
EXCEPTIONS
internal_error = 1
not_open = 2
queue_error = 3
tcode_invalid = 4
printing_invalid = 5
posting_invalid = 6
OTHERS = 7.
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. " f_bdc_insert
Reward Points if it is useful
Thanks
Seshu -
Data inconsistency: posting with restricted transaction type (FAA_POST047)
Hi colleagues!
I have the following error:
Data inconsistency: posting with restricted transaction type
Message no. FAA_POST047
Diagnosis
You are trying to post in company code 1000 with transaction type 130 in ledger group 0N. According to table TABWA, this transaction type is limited. Nonetheless, according to your entries, you want to post to area 11.
System Response
Using limited transaction types is obsolete and would lead to an inconsistent posting in this situation. The system rejects the posting.
Procedure
Use a transaction type that is not limited. And, if possible, choose the ledger group and/or depreciation area on the initial screen.
According to specific accounting we shouldn't post to one of the depr. area, so most of the tr.types are restricted to post to all areas except this one.
Because of this, posting from MM with acc.assignment 'A' is impossible - I have this error.
Any ideas how to solve?
Thanks in advanceHi Anton
This looks like your transaction type -130 is limited to post only in ledger group-0N as per the transaction type configuration. Due to which system is unable to post all the ledgers and hence this lead to inconsistency.
Please verify the transaction type 130- in configuration T code - OAYA and see if it is restricted by depreciation area (eventually allow to post only ledger group- 0N.
Tcode - OAYA (Limit Transaction Types to Depreciation Areas)
please verify and let us know the update. hope this helps
Best Regards
Jomon -
Error message "Data cannot be maintained for set type COMM_PR_PUR_1
Hi
While replicating the material master through R3AS I am getting an error for which the details to be checked in SMW01. In SMW01 when I selected the record for error details I am getting above error message. How to resolve ? Pls guide me stepwise. For your information I has cleared SMQ1 in R3 & SMQ2 in SRM
For curioisity next I selected all such error logs & deleted. It gave me one warning (some inconstinecies error) which I ignored. After that I checked SMQ1 of R3 & SMQ2 of SRM. No log
But I observed a strange thing. Whatever material codes I am creating it is going straightway to SRM without running R3AS transaction. I checked R3AM1, selected the row and cancelled. But still going without any interferrance. Why ? How shall I stop this.
ThanksHello,
>
BNR wrote:
> Hi
> While replicating the material master through R3AS I am getting an error for which the details to be checked in SMW01. In SMW01 when I selected the record for error details I am getting above error message. How to resolve ? Pls guide me stepwise. For your information I has cleared SMQ1 in R3 & SMQ2 in SRM
>(...)
Have a look at OSS note 1049693 - Data cannot be maintained for set type COMM_PR_PUR_1.
Regards.
Laurent. -
Dear,
I saved a document library containing folders and files as a template to use it as a template when I created a document library. It contains a lot of folders and files.
When I tried the document library to sync with workspace it gives an error "Data in this list references content type "", which is no longer in the list schema"
I checked with this error and I found out that it has issue with onenote file, but my library does not contain any onenote file.
I wonder if there is any issue regarding the number of folders to sync at a time because when I tried to sync with document library similar to the big library but lesser folders and files.
ThanksThis is caused by certain OneNote files. I've filed a support ticket on this. See my
post on possible workarounds. You might view the entire library in windows explorer or flatten the folder structure in a view to confirm that there are not any OneNote related files.
Corey Roth blog: www.dotnetmafia.com twitter:
@coreyroth -
I am trying to change me paymenet method by changing my card, after typing in the card number and expiry dates it will not let me type in the box for the security number I am trying to do this on the computer
Jillfinally ...
1. Logout from all apple devices
2. open "App Store" application on your macbook. Login and change all the details for card.
3. Login in itunes, iphone ... I will see that all the details are already updated automatically.
I've just bought some app from itunes -
What date's data is most recently collected
Hi
In a 12.1 Audit Vault database, how can i query what date's data is most recently collected from target database?
Audit Vault is collecting 2 months of audit data from target database and it didn't finish yet. How can i see the how much of the data is collected by AV.
Thanks.thanks again,
as i said there is 500GB audit data on aud$ and this is being a big problem.
collector didn't manage to finish a full read of aud$ yet (experienced snapshot too old and some other problems) and everytime we restart it, it writes the complete data again.
now i realized that on audit vault, for some dates, data was inserted 2/3 times from target database. ( when compared avsys.event_log of AV and sys.aud$ of target database)
so i decided to empty data on AV and restart the collector.
Now question is what is the quickest way to delete all data on AV?
Thanks -
What types of data are entered in the order type?...
Hello SAP-team!
What types of data are entered in the order type?
- Settlement profile
- Sample order
- Settlement rule
- Order category
- Costing sheet for overhead rates
ps: thanks to SAP-community!
EugeneHi,
What types of data are entered in the order type?
- Settlement profile- True
- Sample order -True(by model order)
- Settlement rule-True
- Order category-True
- Costing sheet for overhead rates-False
Regards
Sudhakar Reddy -
Post data into Ajax function for Item type plugin
Please advise how to post data into Ajax function for item type plugin
Edited by: Casufi on Jan 16, 2013 7:44 AMCasufi wrote:
Casufi wrote:
Please advise how to post data into Ajax function for item type plugin
Edited by: Casufi on Jan 16, 2013 7:44 AMI used the following code
var get = new htmldb_Get(null, html_GetElement(''pFlowId'').value, ''NATIVE='||apex_plugin.get_ajax_identifier||''', $v(''pFlowStepId''));
get.addParam(''x01'', node.data.key);
gReturn = get.get();You should use this published true ajax API instaed. apex.server.process( pAjaxIdentifier, pData, pOptions ) -
UNIFIED MANAGER ALERT : on EXPIRING SSL certificates in clustered Data ONTAP systems
The default ssl certificates on clustered Data ONTAP systems are valid for 1 year.
Since we have cDOT clusters monitored via Oncommand Unified Manager 6.2, we would like Unified Manager to alert on expiring Certificates.
Is this possible in OCUM 6.2?
ThanksThanks Saravanan, Initially i had it on RHEL 6.6, and i see some of the existing packages were of a older version and created some issues while rrdtool and sql installation. but i managed to do the installation and faced the same issue. I Didnt know that this is a user account issue not a package dependency issue.and thats the reason i got my server upgraded to RHEL 7.1 and the installation went fine but the same issue. But its working for now, thanks again :-)
-
PDF Preview: Making the Transition To Clustered Data ONTAP
NetApp has refined its tools and processes for a smooth transition to clustered Data ONTAP. The latest software release removes the remaining barriers to entry, so if you’ve been holding back it’s time to make the move from 7-Mode to take full advantage of nondisruptive operations, scale-out, and more. This article explains the transition framework and provides links to the latest resources and tools.
Please can someone help with NSO-157 exam study guide
-
Unable to save the data in a .CSV format
Hi All,
I am trying to pull some data with the help of the sql query from the database and then trying to save this string of data in csv file by using the following code as shown below.The problem iam facing here is that while the file Save as window opens stating to be saved as .CSV format but when i try to save it ,it doesnt givme a csv option ,only html option appears.Can any one help me on this..,,,,,,,,,,,,?
<%@include file="jtfincl.jsp" %>
<%@page session="false" %>
<%@page import="java.io.PrintWriter"%>
<%@page import="oracle.apps.ibe.util.RequestCtx"%>
<%@page import="oracle.apps.iri.iribe.postsales.IrIbeOrderSearch"%>
<%@page import="oracle.apps.ibe.util.*" %>
<%@page import="java.io.IOException" %>
<%
pageContext.setAttribute("_securePage", "true", PageContext.REQUEST_SCOPE);
pageContext.setAttribute("_guestNotAllowed", "true", PageContext.REQUEST_SCOPE);
pageContext.setAttribute("_unapprovedNotAllowed", "true", PageContext.REQUEST_SCOPE);
RequestCtx rCtx = RequestCtx.start(request, response);
int status = Session.checkContextValues(request, response);
if(RequestCtx.userIsAnonymous()) {
signin(out, pageContext, request, response, false);
return;
// Set the response type which in this case will be a .csv file
response.setContentType("application/csv");
response.setHeader("Content-disposition","attachment;filename=SearchResults.csv");
String queryStartDate = request.getParameter("queryStartDate");
String queryEndDate = request.getParameter("queryEndDate");
String queryField = request.getParameter("queryField");
String queryOperator = request.getParameter("queryOperator");
String queryValue = request.getParameter("queryValue");
String queryOrderByField = request.getParameter("queryOrderByField");
String showOpenOrdersOnly = request.getParameter("showOpenOrdersOnly");
IrIbeOrderSearch orderSearch = new IrIbeOrderSearch(
queryStartDate,
queryEndDate,
queryField,
queryOperator,
queryValue,
queryOrderByField,
showOpenOrdersOnly
orderSearch.initialise();
java.util.ArrayList results = orderSearch.getItemTrackerSearchResults();
out.println("The result array size is======="+results.size()) ;
// Output the results as the page resonse as a csv file
try
write(results, response.getWriter());
catch(exception e)
out.println("The stack trace is======="+e.printStackTrace()) ;
if(IBE_logEnabled) IBEUtil.log("iribeCOtdOrdSearchExport.jsp","Inside the exception"+e.toString);
%>
<%!
* This method will take a ResultSet and JspWriter object and print out the details of the ResultSet as a
* comma seperated value file.
* @param results
* @param writer
public static void write(java.util.ArrayList results, PrintWriter writer) {
if(results == null || results.size() == 0) {
writer.print("No Data Available");
return;
String [] data = null;
String output = "";
if(IBE_logEnabled) IBEUtil.log("iribeCOtdOrdSearchExport.jsp","Inside the write method");
for(int i = 0; i < results.size(); i++) {
data = (String []) results.get(i);
output = "";
for(int j = 0; j < data.length; j++) {
// If its not the last column
if(j != data.length - 1) {
output += formatField(data[j]) + ",";
// If it is the last column
} else {
output += formatField(data[j]);
writer.println(output);
writer.flush();
* Format a string value so that it becomes a valid field in a .csv file. This involves making sure that any null
* data is treated as an empty string, that any quotes are padded and if the file contains any commas that the
* field is surrounded by quotes.
* @param value
private static String formatField(String value) {
String output = null;
// Check for null values
if(value == null) {
output = "";
} else {
output = value;
// Pad any existing quotes
output = output.replaceAll("\"", "\"\"");
// If there is a space or commas then add surrounding quotes
if(output.startsWith(" ") || output.endsWith(" ") || output.indexOf(",") != -1) {
output = "\"" + output + "\"";
return output;
%>
<%!
void signin(
JspWriter out,
PageContext pageContext,
HttpServletRequest request,
HttpServletResponse response,
boolean reauth
) throws IOException, SQLException, FrameworkException {
String query = IBEUtil.passQueryString(request, null).toString();
String uri = request.getRequestURI();
String targetJsp = uri.substring(uri.lastIndexOf("/") + 1);
String ref = null;
if ("true".equals(pageContext.getAttribute("_securePage", PageContext.REQUEST_SCOPE))) {
ref = RequestCtx.getSecureFormAction(targetJsp);
} else {
ref = RequestCtx.getNonSecureFormAction(targetJsp);
if(!query.equals("")) {
ref = oracle.apps.jtf.util.Utils.encode(ref + "?" + query);
String redirect = RequestCtx.getSecureURL("ibeCAcpSSOLogin.jsp", "ref=" + ref + (reauth ? "&reauth=t" : ""));
// don't add the ref if the session expired and restarted
RequestCtx rCtx = RequestCtx.getRequestCtx();
if(rCtx.startRequestException!=null) {
redirect = RequestCtx.getSecureURL("ibeCAcpSSOLogin.jsp", "ibe_se=t"+(reauth ? "&reauth=t" : ""));
RequestCtx.end(request);
response.sendRedirect(redirect);
regds
manish
%>This would occur if you were using IE and the requested URL doesn't contain the filename part. The real web browsers would pick up the filename from the response header flawlessly.
Having said that, this kind of logic doesn't belong in a JSP. Use Java classes (Servlet, Bean, DAO). Further on, JSP/Servlet related questions should be posted in the JSP/Servlet forum. -
Received this error (The workflow could not update the item, possibly because one or more columns for the item require a different type of information.) recently on a workflow that was
working fine and no changes were made to the workflow.
I have tried a few suggestions, i.e. adding a pause before any ‘Update’ action (which didn’t help because the workflow past this action without incident); checked the data type being written
to the fields (the correct data types are being written); and we even checked the list schema to ensure the list names and the internal names are aligned (they
are), but we still cannot figure out why the workflow is still throwing this error.
We located the area within the workflow step where it is failing and we inserted a logging action to determine if the workflow would execute the logging action but it did not, but wrote the same error message.
The workflow is a Reusable Approval workflow designed in SharePoint Designer 2010 and attached to a content type.
The form associated with the list was modified in InfoPath 2010.
Approvers would provide their approval in the InfoPath form which is then read by the workflow.
Side note - items created after the workflow throws this Unknown Error some seem to be working fine.
We have deleted the item in question and re-added it with no effect.
Based on what we were able to determine there don’t seem to be any consistency with how this issue is behaving.
Any suggestions on how to further investigate this issue in order to find the root cause would be greatly appreciated?
CheersHi,
I understand that the reusable workflow doesn’t work properly now. Have you tried to remove the Update list item action to see whether the workflow can run without issue?
If the workflow runs perfectly when the Update list item action is removed, then you need to check whether there are errors in the update action. Check whether the values have been changed.
Thanks,
Entan Ming
Entan Ming
TechNet Community Support -
I got error "The workflow could not update the item, possibly because one or more columns for the item require a different type of information "I found out the cause is Update Item action
I need to update item in another List call Customer Report ,the field call "Issues" with data type "Choice" to yes
then the error arise . please help..Thanks for the quick response Nikhil.
Our SPF 2010 server is relatively small to many setups I am sure. The list with the issue only has 4456 items and there are a few associated lists, eg lookups, Tasks, etc see below for count.
Site Lists
Engagements = 4456 (Errors on this list, primary list for activity)
Tasks = 7711 (All workflow tasks from all site lists)
Clients = 4396 (Lookup from Engagements, Tslips, etc)
Workflow History = 584930 (I periodically run a cleanup on this and try to keep it under 400k)
Tslips = 3522 (Engagements list can create items here, but overall not much interaction between lists)
A few other lists that are used by workflows to lookup associations that are fairly static and under 50 items, eg "Parters Admin" used to lookup a partners executive admin to assign a task.
Stunpals - Disclaimer: This posting is provided "AS IS" with no warranties. -
Is there a way to download data into CSV format?
Is there a way to download data into CSV format?
I can't do this using delimiter as ',' because user wants the decimal format in the ','s only.
Any suggestions?go through this link...
Download CSV file in presentation server through FM GUI_DOWNLOAD
Re: how to create a CSV file
type-pools:TRUXS.
data: begin of itab occurs 0,
vbeln like vbap-vbeln,
posnr like vbap-posnr,
end of itab.
data: itab1 type TRUXS_T_TEXT_DATA.
select vbeln
posnr
up to 10 rows
from vbap
into table itab.
CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'
EXPORTING
I_FIELD_SEPERATOR = ','
TABLES
I_TAB_SAP_DATA = itab
CHANGING
I_TAB_CONVERTED_DATA = itab1
EXCEPTIONS
CONVERSION_FAILED = 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.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = 'C:TEMPtest.TXT'
TABLES
data_tab = itab1
EXCEPTIONS
OTHERS = 1.
Maybe you are looking for
-
Having logic board and inverter replaced - will post results.
My MBP is afflicted with the CPU whine and the LCD whine, not to mention the "Moo". I solved the Airport not connecting automatically issue on my own. Talked to Apple about the whines, they wanted me to take it to the local guys, which I was happy to
-
Unsync iPhone with iPad. Please help
My iPad mini asked if I wanted to use my iPhone phone number. I said yes. I'm new to apple products. Nowy iPad mini has my iPhone phone number. When I text from my iPad mini, it says it's being sent from my iPhone and Not from my iPad. Anybody know h
-
HOW CAN I SPLIT STEREO AUDIO TRACKS
I'm trying to modify one of the audio tracks but both of the tracks are locked. If I do something with one of the tracks it affects the other one so how can I split it? or separate it? is it stereo? is there any way I can do it? THANKS!!!!!!!
-
Installing photoshop elements 3
Hi I tried to install photshop elements 3, bought from the apple shop, and initially I got an error code 10660 which meant nothing to the phoneline support chap at Apple. Apple blamed Adobe and Adobe blamed Apple. So I removed all references to photo
-
Hi, We have 3 queries Q1, Q2, Q3 We need for Profile 1 - Q1 and Q2 Profile 2 - Q2 and Q3 Any idea how to do this without including the actual name of the query in the authorization object Thanks