Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 40x 40x 6x 6x 34x 34x 34x 1x 103x 103x 103x 103x 3x 3x 3x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 3x 3x 3x 3x 3x 3x 3x 3x 3x 103x 103x | import {xmlToArray} from "../xml_utils";
export type DynproField = {
name: string,
type: string,
contType: string,
length: number,
vislength: number,
line: number,
column: number,
height: number,
};
export type DynproHeader = {
number: string,
description: string,
nextScreen: string,
type: string,
fields: DynproField[],
};
export type DynproList = DynproHeader[];
function parseNumber(value: string | undefined): number {
if (value === undefined) {
return 0;
}
return parseInt(value, 10);
}
export function parseDynpros(parsed: any): DynproList {
const dynpros: DynproList = [];
const xmlDynpros = parsed.abapGit?.["asx:abap"]?.["asx:values"]?.DYNPROS;
if (xmlDynpros !== undefined) {
for (const d of xmlToArray(xmlDynpros.item)) {
const fields: DynproField[] = [];
for (const f of xmlToArray(d.FIELDS?.RPY_DYFATC)) {
fields.push({
name: f.NAME,
type: f.TYPE,
contType: f.CONT_TYPE,
length: parseNumber(f.LENGTH),
vislength: parseNumber(f.VISLENGTH),
line: parseNumber(f.LINE),
column: parseNumber(f.COLUMN),
height: parseNumber(f.HEIGHT),
});
}
dynpros.push({
number: d.HEADER.SCREEN,
description: d.HEADER.DESCRIPT,
nextScreen: d.HEADER.NEXTSCREEN,
type: d.HEADER.TYPE,
fields: fields,
});
}
}
return dynpros;
}
|